我试图使用存储过程,其中我的FileStream,文件名,文件路径将会被参数插入到一个不兼容的FileTable。我曾经试过,但它抛出一个错误的数据类型为varchar和varbinary(最大值)都在增加操作符
的数据类型为varchar和varbinary(最大值)都在增加操作符
我的存储过程不兼容:
@filePath VARCHAR(100),
@fileName VARCHAR(100)
AS
BEGIN
DECLARE @file VARBINARY(MAX)
DECLARE @sql NVARCHAR(max)
SET @sql = 'SELECT'+ @file +' = CAST(bulkcolumn AS VARBINARY(MAX)) FROM OPENROWSET(BULK '+ @filePath +', SINGLE_BLOB) AS x'
EXEC(@Sql);
INSERT INTO dbo.FileStore(name, file_stream)
SELECT @fileName, @file
END
你在突入@file? – scsimon
这是一个错误,我已经更新了这个问题。 – MaazKhan47
我不确定你的目标是在这里,但是FWIW你不需要将@file转换成你已经声明的那样'convert(VARBINARY(MAX),'+ @file +')' – scsimon