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

时间:2014-03-16 11:16:07

标签: sql-server tsql 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 个答案:

答案 0 :(得分:15)

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

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