Java 如何在SQLServer中获取存储过程sp_setapprole的输出参数

Java 如何在SQLServer中获取存储过程sp_setapprole的输出参数,java,sql,sql-server,stored-procedures,Java,Sql,Sql Server,Stored Procedures,我正在使用以下JDBC驱动程序—来自Microsoft的驱动程序: 我想检索存储过程sp_setapprole的输出参数@cookie。我可以像这样调用这个过程,但是我不知道如何检索输出参数 statement = connection.createStatement(); statement.execute("EXEC sp_setapprole '" + applicationRoleName + "', '" + applicationRolePassword + "'"); 我尝试使用

我正在使用以下JDBC驱动程序—来自Microsoft的驱动程序:

我想检索存储过程sp_setapprole的输出参数@cookie。我可以像这样调用这个过程,但是我不知道如何检索输出参数

statement = connection.createStatement();
statement.execute("EXEC sp_setapprole '" + applicationRoleName + "', '" + applicationRolePassword + "'");
我尝试使用PreparedStatement和CallableStatement,但始终出现以下异常:存储过程“sys.sp_setapprole”只能在临时级别执行。。我发现了这篇文章:,但我不喜欢使用另一个JDBC驱动程序的解决方案


所以我的问题是:如何使用语句从SQLServer中的存储过程sp_setapprole获取输出参数。

我认为这会有所帮助。我不是一个大型java程序,但多年来一直使用ODBC

看看callable语句。您需要定义in/out或inout参数。执行SP并读取输出

在C语言中,它只需查看下面这样的参数就可以得到值。但是建立连接、绑定参数、调用和读取输出的想法是相同的

my_Cmd.Parameters[@PageCount].Value.ToString

这是一篇来自MSDN的文章,在C++中。

同样的想法,绑定参数,调用,使用[SQLExecDirect]读取输出


如果你不明白,就喊我一声。

我想这会有帮助的。我不是一个大型java程序,但多年来一直使用ODBC

看看callable语句。您需要定义in/out或inout参数。执行SP并读取输出

在C语言中,它只需查看下面这样的参数就可以得到值。但是建立连接、绑定参数、调用和读取输出的想法是相同的

my_Cmd.Parameters[@PageCount].Value.ToString

这是一篇来自MSDN的文章,在C++中。

同样的想法,绑定参数,调用,使用[SQLExecDirect]读取输出


如果您不明白,请告诉我。

我不能使用CallableStatement或PreparedStatement,因为我得到错误,存储过程“sys.sp_setapprole”只能在临时级别执行。。请参阅我的第一篇文章。我不能使用CallableStatement或PreparedStatement,因为我得到错误存储过程“sys.sp_setapprole”只能在临时级别执行。。看我的第一篇文章。