我正在使用Perl程序中的BCP實用程序將文件導入到SQL Server中。 在這我導入的文件,有一個錯誤的日期格式,以便導入過程失敗,以下錯誤:當BCP失敗時,Perl系統()命令不會返回失敗
SQLState = 22008, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Invalid date format
我執行bcp命令在我的Perl程序如下。
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程序中捕獲無效的日期格式錯誤?
感謝
我假設在你的真實程序中'$ myBcp'中的字符串被正確引用,而不是像你上面發佈的那樣? – TLP 2012-04-18 14:43:52
是的,它被正確引用。我只是給出了格式。 – user1019072 2012-04-18 14:46:28
除了您的實際代碼外,您絕不應該發佈任何內容,完全按照它的樣子發佈。當然不是無法編譯的代碼。它只會增加混淆。你應該知道'system'不會返回錯誤代碼,只有程序的退出狀態。見'perldoc -f系統'。 – TLP 2012-04-18 14:50:45