2017-03-01 43 views
0
declare @path nvarchar(max) 

set @path='C:\a\SQLQuery1.sql' 

SELECT * FROM OPENROWSET(BULK '@path',SINGLE_BLOB) as res 

我想执行的SQL服务器则该特定块,但它的投掷的错误说使用存储过程给错误

无法批量加载,@路径都插入一个文件到表中的SQL Server不存在。

但是,如果我在最后一行而不是@path中显式提供路径,那么它将成功运行。 任何帮助!

回答

2

您可以尝试使用动态SQL:

DECLARE @path nvarchar(max), @sql nvarchar(max); 

SET @path = N'C:\a\SQLQuery1.sql'; 
SET @sql = N'SELECT * FROM OPENROWSET(BULK '''[email protected]+''',SINGLE_BLOB) as res'; 

EXEC(@sql);