错误= [Microsoft] [SQL Server的ODBC驱动程序11]警告:使用格式文件导入BCP会将分隔列中的空字符串转换为NULL

VK_*_*217 6 sql-server bcp windows-server-2012 sql-server-2014

我将Windows Server从2008年升级到2012年,将SQL Server从2008年升级到2014年.我有一个使用该BCP命令从数据库导出数据的进程.命令如下:

bcp "exec db_name.dbo.table_name 20160204, 0" queryout D:\myfolder\201602\20160204\output.txt -c -T -S  SERVER_NAME
Run Code Online (Sandbox Code Playgroud)

在升级之前

2016-02-02 04:05:16,038 [2492] INFO  - 
Starting copy...
1000 rows successfully bulk-copied to host-file. Total received: 1000
Run Code Online (Sandbox Code Playgroud)

升级后

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
Run Code Online (Sandbox Code Playgroud)

虽然已创建输出文件,但错误/警告在日志中是不合需要的.有没有办法压制这个警告?

VK_*_*217 7

显然,根据微软的说法,这不是一个错误,只是一个警告,可以安全地忽略.(详细的讨论和解决方法)

就我而言,我正在解析字符串"Error"的BCP控制台输出并报告该进程失败.由于我使用Process.NET框架类在C#代码中调用BCP命令,因此我必须添加代码来检查进程退出代码0并禁止此特定警告.