蚂蚁<;Sql>;及<;执行官>;sqlcmd-不同的输出

蚂蚁<;Sql>;及<;执行官>;sqlcmd-不同的输出,sql,sql-server,database,ant,sqlcmd,Sql,Sql Server,Database,Ant,Sqlcmd,我有一个.sql文件,它是使用ant执行的,当我使用标记执行它时,我收到了与调用“sqlcmd”时不同的输出 sql标记输出: [sql] Executing resource: C:\SqlTesting\TestScriptDependencies\Executor.sql [sql] Failed to execute: Use Library Exec CallSelectSP [sql] com.microsoft.sqlserver.jdbc.SQLServerExce

我有一个.sql文件,它是使用ant执行的,当我使用标记执行它时,我收到了与调用“sqlcmd”时不同的输出

sql标记输出:

  [sql] Executing resource: C:\SqlTesting\TestScriptDependencies\Executor.sql
  [sql] Failed to execute:  Use Library Exec CallSelectSP
  [sql] com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name'Libraty.dbo.libraryDocumentType'.
  [sql] 0 of 1 SQL statements executed successfully
exec标记输出:

 [exec] First SP
 [exec] Msg 208, Level 16, State 1, Server MyPC-PC, Procedure getFirstDocumentType, Line 3
 [exec] Invalid object name 'Libraty.dbo.libraryDocumentType'.
 [exec] Second SP
 [exec] Msg 208, Level 16, State 1, Server MyPC-PC, Procedure badSP, Line 3
 [exec] Invalid object name 'Libraty.dbo.libraryDocumentType'.
这是.sql文件

Print 'First SP'
Exec getFirstDocumentType
Print 'Second SP'
Exec badSP
Go
我想知道这是否是SQL标记复制与EXEC标记相同的输出的一种方式


谢谢。

看起来第一个是通过jdbc将整个脚本作为单个批提交。而第二个似乎是通过sqlcmd发送每个sql语句-因此打印语句成功(并导致同步输出-这并不总是由print保证-
raiserror(str,10,1)
with nowait;是及时消息传递的唯一保证),并且尝试两个sp调用,每个调用都生成自己的(sql)错误