BCP以代码0退出

时间:2011-07-06 10:35:09

标签: java sql-server command-line bcp

从我的Java应用程序运行BCP时,如果需要1,它将以状态码0退出。 我使用无效的数据和格式文件组合运行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 :(得分:0)

如果bcp是“in”,请考虑使用BULK INSERT。这与bcp相同,但可以使用SQL Server TRY / CATCH或正常异常处理

进行捕获

否则,您是否正在捕获%ERRORLEVEL%而不是其他一些代码?