Привет! Есть тестовая процедурка, написанная на C# CLR SQL, которая потом работает как обычная хранимка. Процедура пытается создать файл в сетевой папке привязанной к таблице filetable в базе по соответствующему пути, но файл не создается, выдается ошибка "Такой запрос не поддерживается". FileTable вроде создавалась по всем правилам с доступами. Если создать файл по схожему пути в любой другой сетевой папке, не относящейся к filetable, то всё легко создается, если писать приложение, скажем WinForms или консольное, то в нужной папке тоже всё прекрасно создается, не создается именно в таком варианте хранимой процедуры. Не могу понять почему, в интернете конкретно такого случая найти не могу, но в документации сказано, что можно использовать средства ввода-вывода и создавать файлы прямо в папке по сетевому пути. Какие идеи по этому поводу, может кто сталкивался, уже замучил этот вопрос...
[Microsoft.SqlServer.Server.SqlProcedure]
public static void TestProcedure ()
{
File.Create(@"\\PC-NAME\mssqlserver\FStreamData\FileTableName\1.bin");
}
Пробовались также варианты:
Stream stream = new FileStream(@"\\PC-
NAME\mssqlserver\FStreamData\FileTableName\1.bin", FileMode.Create,
FileAccess.ReadWrite);
stream = new FileStream(@"\\PC-
NAME\mssqlserver\FStreamData\FileTableName\1.bin", FileMode.Open);
File.Open(@"\\PC-NAME\mssqlserver\FStreamData\FileTableName\1.bin",
FileMode.Open);
Скрипт импортирования сборки: create assembly TPr from 'C:\Project1\Project1SQL\Procedures\CLR\bin\Debug\ClassLibrary.dll' with permission_set=unsafe
Нетранзакционный доступ включен.
Замечания: при использовании SQLFilestream с функцией GET_FILESTREAM_TRANSACTION_CONTEXT() ошибка та же самая. Приложение Блокнот не может открывать файлы содержащиеся в этой сетевой папке filetable, ЕСЛИ они содержат данные. Ошибка такая же: "Такой запрос не поддерживается", но это связано с тем, что filetable не поддерживает файлы отображенные на память, а Блокнот работает с такими. Честно, не знаю, относится ли это как-то к проблеме создания средствами IO из среды CLR.
Версия MS SQLServer2014
Файл должен создаваться в процессе выполнения процедуры, если записывать данные прямо в таблицу filetable, их размер будет ограничен, а использование костылей не приветствуется.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть класс в котором одно из свойств это объект из библиотеки dllСуть в том, что при вызове метода JsonConvert
Здравствуйте, есть капча при обновлении страницы появляеться новая
При переборе файлов в папках есть одна проблема, это скрытые файлы (переберает по ним тоже), как можно обойти скрытые папки?