全部在這篇文章中xp_cmdshell Query Length Too Large我設法獲得了一個問題,我遇到了使用xp_cmdshell的查詢大小限制。我寫這麼長的查詢的原因是嘗試解決另一個問題,bcp似乎將空字符串(來自包含具有空字符串的字段的表)轉換爲某種編碼字符('NUL'或'r'),或者其他的東西)。這影響了我可以使用我的導出數據。出口查詢我是BCP導出自動將空字符串轉換爲NUL
string strBcp = String.Format(
"declare @sql varchar(8000) " +
"select @sql = 'bcp \"SELECT * FROM [{0}]..[ivwTmpDrgDataView];\" ' +" +
"'queryout \"{1}\\DRGData.txt\" -c -t -T -S ' + @@servername " +
"exec master..xp_cmdshell @sql;",
strDatabase,
strDataDir);
這工作得很好,但在導出的文件數據庫值轉換
NULL -> Empty String (Which is fine!)
Empty String -> Some strange character
我能讀懂與C#中的.txt文件,然後重新編碼 - 是什麼將我的'奇怪的人物'轉換回它應該是的最佳方式,一個空字符串?
感謝您的時間。
那麼什麼是我的奇怪字符轉換爲空字符串的最佳方式。那是讓bcp寫一個空字符串作爲空字符串?通過在輸出查詢中使用'coalesce'或'IsNull'來創建 – MoonKnight
? – paul