Я импортирую файл в SQL Server с помощью утилиты BCP в программе Perl. В файле, который я ввожу, есть неправильный формат даты, поэтому процесс импорта завершается с ошибкой при слежении:Команда Perl system() не возвращает сбой при сбое BCP
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
да, это правильно процитировано. Я просто давал формат. – user1019072
Вы никогда не должны публиковать ничего, кроме своего фактического кода, точно так же, как он появляется. И, конечно, не код, который не будет компилироваться. Это лишь добавляет путаницы. Вы должны знать, что 'system' не возвращает коды ошибок, а только статус выхода программы. См. 'Perldoc -f system'. – TLP