Типы данных изображения недопустимы для локальных переменных (использование openrowset не может заставить его работать)

Использование Sql server 2005

Мне нужно вызвать хранимую процедуру, которая имеет много параметров и один столбец изображения, который используется для документа Word. Я не могу изменить базу данных, так как она не находится под моим контролем. Я не могу установить результат openrowset переменной, как я получаю

The text, ntext, and image data types are invalid for local variables.

Что такое обходной путь?

Ниже приведен код, который не может заставить его работать.

DECLARE BinaryContent image
SET @BinaryContent=(SELECT BulkColumn FROM OPENROWSET(BULK N'C:\mydoc.docx',    SINGLE_BLOB) blob


 EXEC   [dbo].[InsertWordDocument]
    @Id = NEWID,
    @Name = N'DocName',
    @Description = N'DescriptionToChange',
    @BinaryColumn =@BinaryContent

Как я могу заставить работать выше?

Большое спасибо.

1 ответ

Используйте varbinary(max) вместо изображения. Переменная varbinary(max) может быть передана в качестве значения параметра изображения.

Типы данных ntext, text и image устарели и будут удалены в следующей версии SQL Server.

Другие вопросы по тегам