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

Error = [Microsoft][ODBC Driver 11 for SQL Server]Warning: BCP import with a format file will convert empty strings in delimited columns to NULL

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

bcp "exec db_name.dbo.table_name 20160204, 0" queryout D:\myfolder1602160204\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

虽然已经创建了输出文件,但 Error/Warning 是日志中不希望出现的内容。有没有办法抑制这个警告?

显然,根据 Microsoft 的说法,这不是错误,而只是警告,可以安全地忽略。(Detailed discussion and work around here)

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