2016-02-05 115 views
4

我將Windows Server從2008升級到2012,SQL Server從2008升級到2014 。我有一個使用BCP命令從數據庫導出數據的進程。該命令如下:錯誤= [Microsoft] [用於SQL Server的ODBC驅動程序11]警告:帶格式文件的BCP導入會將分隔列中的空字符串轉換爲NULL

bcp "exec db_name.dbo.table_name 20160204, 0" queryout D:\myfolder\201602\20160204\output.txt -c -T -S SERVER_NAME 

升級

2016-02-02 04:05:16,038 [2492] INFO - 
Starting copy... 
1000 rows successfully bulk-copied to host-file. Total received: 1000 

升級後之前

2016-02-05 04:04:37,006 [15872] INFO - 
Starting copy... 
SQLState = S1000, NativeError = 0 
Error = [Microsoft][ODBC Driver 11 for SQL Server]Warning: BCP import with a format file will convert empty strings in delimited columns to NULL. 
1000 rows successfully bulk-copied to host-file. Total received: 1000 

雖然輸出文件被創建,錯誤/警告是什麼這在日誌中是不可取的。有沒有辦法抑制這個警告?

+1

呃。多麼愚蠢的警告信息! – Robino

回答

3

顯然,根據微軟這是不是一個錯誤,但只是一個警告,可以忽略。(Detailed discussion and work around here

以我爲例,我是解析BCP控制檯輸出字符串「錯誤」和報告該過程失敗。由於我使用.NET框架的Process類來調用C#代碼中的BCP命令,因此我必須添加代碼來檢查進程退出代碼0並抑制此特定警告。

+0

非常有用的信息。我在解析BCP控制檯輸出時使用以下正則表達式解決了這個問題:'\ s + error(?!。* warning:)' – weir

相關問題