PerlプログラムのBCPユーティリティを使用してSQL Serverにファイルをインポートしています。私のPerlプログラムで、次のように私は、bcpコマンドを実行していますPerl system()コマンドは、BCPが失敗したときにエラーを返しません。
SQLState = 22008, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Invalid date format
:インポートプロセスは、次のエラーで失敗したので、私は輸入していたファイルで は、間違った日付の形式があります。
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プログラムで無効な日付のフォーマットエラーをキャッチする方法を教えてもらえますか?次のようにあなたが2>&1
によってSTDOUTにSTDERRをリダイレクトする必要があり
おかげ
実際のプログラムでは、 '$ myBcp'の文字列が適切に引用されていて、あなたが上に掲示したものとは違うと思いますか? – TLP
はい適切に引用されています。私はちょうどフォーマットを与えていた。 – user1019072
あなたの実際のコード以外は何も投稿しないでください。そして確かにコンパイルされないコードはありません。混乱を招くだけです。 'system'はエラーコードを返さず、プログラムの終了ステータスだけを返すことに注意してください。 'perldoc -f system'を参照してください。 – TLP