FileTable file_stream column: «Невозможно вызвать методы в varbinary» - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь использовать file_stream.GetFileNamespacePath (), как описано здесь: https://docs.microsoft.com/en-us/sql/relational-databases/system-functions/getfilenamespacepath-transact-sql?view=sql-server-2017 используя этот код:

использовать StepwiseProcedures

объявить @root varchar (100)
SELECT @root = FileTableRootPath ();

объявите @fullPath varchar (1000);
SELECT @fullPath = @root + Code_filetable.file_stream.GetFileNamespacePath () ОТ Code_filetable
ГДЕ Имя = '118.txt';

Этот код не проходит проверку синтаксиса, и сообщение: "Невозможно вызвать метод в varbinary"

Столбец file_stream имеет тип varbinary (MAX) в фиксированной схеме, применяемой для каждого созданного FileTable. Я использую несколько FileTable больше года, и другие операции работают так, как задокументировано.

Если я не могу заставить GetFileNamespacePath () работать, мне придется каким-то образом жестко закодировать пути, которые я видел в File Manager, или, возможно, перейти на SQL Server 2016 или более позднюю версию.

Обратите внимание, что необходимо создать экземпляр базы данных для поддержки FILESTREAM и т. Д., Прежде чем вы сможете создать и использовать FileTable и воспроизвести эту проблему. Конфигурация описана здесь:
https://docs.microsoft.com/en-us/sql/relational-databases/blob/enable-and-configure-filestream?view=sql-server-2017

Я прочитал следующие ссылки по следующим ссылкам, но ничего не подходит для решения этой проблемы.

https://docs.microsoft.com/en-us/sql/relational-databases/system-functions/getfilenamespacepath-transact-sql?view=sql-server-2017

SQL FileTable GetFileNamespacePath

https://www.sqlservercentral.com/Forums/Topic1715710-3077-1.aspx

https://sqltales.wordpress.com/2012/05/15/varbinary-vs-filestream-and-other-blob-issues-3/

https://www.databasejournal.com/features/mssql/filestream-and-filetable-in-sql-server-2012.html

https://svenaelterman.wordpress.com/2012/07/31/pathname-versus-getfilenamespacepath/

Я использую Microsoft SQL Server 2014 (64-разрядная версия Enterprise)

Спасибо

...