我試圖運行以下命令來生成文件並使用varchar(MAX)
數據填充文件。這是一個問題,當我嘗試運行代碼時它會創建文件,但它們是空的。我知道@classString
變量中有數據。有沒有一個字符串封閉的序列,我可以環繞@classString
來分隔它?我正在嘗試生成一個腳本,因此我假定@classString包含干擾文件寫入的字符。使用t-sql存儲過程將大型varchar(MAX)寫入文件
SET @sqlString = 'echo off > ' + @FilePath + '\' + @table_name + '.cs"'
exec xp_cmdshell @sqlString
SET @sqlString = 'echo ' + @classString + ' >> ' + @FilePath + '\' + @table_name + '.cs"'
exec xp_cmdshell @sqlString
這不是一個答案,但是您是否考慮過一個小型外部腳本,用於查詢數據庫中的必要數據並寫入文件?使用'xp_cmdshell'編寫文件是非常尷尬的,並且經常導致權限問題。 – Pondlife 2013-05-08 16:36:26