【发布时间】:2013-12-13 08:18:20
【问题描述】:
我正在使用以下 JDBC 驱动程序(来自 Microsoft 的驱动程序):http://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx。
我想检索存储过程sp_setapprole 的输出参数(@cookie)。我可以像这样调用该过程,但我不知道如何检索 OUTPUT 参数。
statement = connection.createStatement();
statement.execute("EXEC sp_setapprole '" + applicationRoleName + "', '" + applicationRolePassword + "'");
我尝试使用 PreparedStatement 和 CallableStatement,但总是得到以下异常:Stored procedure 'sys.sp_setapprole' can only be executed at the ad hoc level.。我找到了这个帖子:https://stackoverflow.com/a/6944693/1362049,但我不喜欢这个解决方案(使用另一个 JDBC 驱动程序)。
所以我的问题是:如何使用 Statement 从 SQLServer 中的存储过程 sp_setapprole 获取 OUTPUT 参数。
【问题讨论】:
标签: java sql sql-server stored-procedures