图像数据类型对局部变量无效(使用openrowset无法使其工作)

use*_*969 6 t-sql sql-server 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
Run Code Online (Sandbox Code Playgroud)

我怎样才能完成上述工作?

非常感谢.

Raz*_*col 16

使用varbinary(max)而不是image.varbinary(max)变量可以作为image参数的值传递.

不推荐使用ntext,text和image数据类型,将在SQL Server的未来版本中删除它们.