【发布时间】:2012-04-18 14:37:50
【问题描述】:
我正在使用 Perl 程序中的 BCP 实用程序将文件导入 SQL Server。 在我正在导入的文件中,日期格式错误,因此导入过程失败并出现以下错误:
SQLState = 22008, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Invalid date format
我在 perl 程序中执行 bcp 命令,如下所示。
my $myBcp = "bcp.exe" <table name> in <temp file path> -f<format file> -m 1 -h "FIRE_TRIGGERS" -o<log file path>
my $myResult = system($myBcp);
当我打印 $myResult 时,它给了我“0”。由于存在“日期格式无效”错误,它应该返回一个错误代码。
谁能告诉我如何在我的 perl 程序中捕获 Invalid Date Format 错误?
谢谢
【问题讨论】:
-
我假设在您的实际程序中,
$myBcp中的字符串被正确引用,而不像您上面发布的那样? -
是的,它被正确引用。我只是给出格式。
-
你不应该发布任何东西,除了你的实际代码,就像它看起来一样。当然不是不能编译的代码。它只会增加混乱。您应该知道
system不返回错误代码,只返回程序的退出状态。见perldoc -f system。 -
你没有给出格式,你给出了一些看起来像伪代码的东西,它会给出诸如“未引用的字符串'表'可能与未来的保留字冲突..”这样的错误你是如何引用的该字符串是回答问题的重要信息。
-
我已经给你答案了:
system不返回错误。我不是在责备你,我是在询问你如何引用字符串的信息,因为你发布的不是你实际拥有的。无论如何......似乎你的问题得到了回答。