BCP выходит с кодом 0 - PullRequest
       18

BCP выходит с кодом 0

2 голосов
/ 06 июля 2011

При запуске BCP из моего Java-приложения оно выходит с кодом состояния 0, когда ожидается 1.Я запускаю bcp с недопустимой комбинацией данных и файла форматирования, и bcp выдает следующую ошибку:

Starting copy...
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Invalid character value for cast  specification

BCP copy in failed

BCP, однако, выходит с кодом выхода 0, а не 1, как я подозреваю.Сейчас крайне сложно увидеть, что-то не получилось при запуске BCP.Выход с правильным кодом работает, как только они совпадают до некоторой степени (как те же разделители).

Команда

PS C:\Users\feh\Desktop> bcp integrate_test.dbo.AS_LOADER_DELIMITED in .\data.dat -S "10.0.0.161\SQL2K5,1048" -U user -P pass -f .\formatting.ctl -m 1

Starting copy...
SQLState = S1000, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Unexpected EOF encountered in BCP data-file

0 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total     : 1
PS C:\Users\feh\Desktop> $lastexitcode
0

Как я могу проверить файл форматирования данных и получить код выхода 1когда они не совпадают?

1 Ответ

0 голосов
/ 06 июля 2011

Если bcp "в", рассмотрите возможность использования BULK INSERT . Это то же самое, что и bcp, но может быть перехвачено с помощью SQL Server TRY / CATCH или обычной обработки исключений

В противном случае, вы ловите %ERRORLEVEL%, а не какой-то другой код?

...