我有一个存储过程,它打印一个简单的字符串:
create proc proc1
as
print 'Hello World !'
我有一个Android应用程序,它使用servlet(用Java编写)来连接 SQL server 数据库。下一个代码在servlet中:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con1 = DriverManager.getConnection("Jdbc:Odbc:abc");
CallableStatement cstmt=con1.prepareCall("{call proc1}");
cstmt.execute();
工作正常。该程序正在激活,但现在,我想要 获取打印消息'Hello world!'但以下代码没有 工作, SQLWarning 始终为空:
SQLWarning warning = cstmt.getWarnings();
while (warning != null)
{
System.out.println(warning.getMessage());
warning = warning.getNextWarning();
}
我的问题是如何获取打印消息? P.S 使用raiserror而不是print也不行。 我已经知道输出参数的选项(我研究了这个主题已有近一个星期)。如果您允许,我想请求另一种选择。
答案 0 :(得分:0)
我不确定如何在Java中实现它。但是,由于this article(不是接受的答案)提示打印作品的工作方式不同,并且不会产生“警告”。您可以考虑使用raiserror。同样,这个Blog article描述了如何使用SqlInfoMessageEventHandler来获取信息消息。