SET @fullPath = 'D:\Hosting\Project\Content\Order\ImportTest.txt'
SET @command = N'select @data_count =(select len(BulkColumn) - len(replace(BulkColumn,
char(10), '')) 1
from OPENROWSET(BULK ''' @fullPath ''',
SINGLE_CLOB) ROW_SET'
EXEC(@command)
上面的命令產生以下錯誤:
訊息 102,級別 15,狀態 1,第 2 行
“D:”附近的語法不正確。訊息 105,級別 15,狀態 1,第 2 行
字串 ', SINGLE_CLOB) ROW_SET' 后的未封閉引號。
我如何解決上述問題?
uj5u.com熱心網友回復:
就像你轉義單引號一樣,BULK ''' @fullPath '''你必須在這里做:char(10), ''''.
uj5u.com熱心網友回復:
除了雙引號,您還需要使用正確轉義檔案名QUOTENAME
SET @fullPath = 'D:\Hosting\Project\Content\Order\ImportTest.txt';
SET @command = N'
select
@data_count = len(BulkColumn) - len(replace(BulkColumn, char(10), '''')) 1
from OPENROWSET(BULK ' QUOTENAME(@fullPath, '''') ',
SINGLE_CLOB) ROW_SET
';
EXEC sp_executesql @command;
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/346125.html
標籤:sql-server 查询语句
下一篇:撰寫SQL函式,但無法按預期作業
