gpt4 book ai didi

java - JDBC set_approle

转载 作者:行者123 更新时间:2023-12-04 02:21:03 25 4
gpt4 key购买 nike

我正在尝试使用 prepareCall 通过 JDBC 连接设置应用程序角色。它似乎工作正常(即语法明智)但 SQL Server 2008 返回此错误:

Application roles can only be activated at the ad hoc level

我不是从存储过程或其他任何东西中触发它,而是直接从我的 JDBC 连接中触发,例如:

CallableStatement cstmt = con.prepareCall("{call sys.sp_setapprole(?, ?, ?, ?)}");
//setup all the IN and OUT parameters here
cstmt.execute();

关于为什么这不起作用的任何想法?

最佳答案

事实证明,我使用的 JDBC 驱动程序是 Microsoft 的 JDBC 驱动程序,无法关闭 Prepared Statements 或 Statement Pooling。因此,发送到数据库的所有内容都包含在 sp_prepexec() 中,sys.sp_setapprole() 检测到它并且不喜欢它,因为它不能包含在另一个过程中并且必须直接在数据库上自行执行。不幸的是,解决方案是使用另一个 JDBC 驱动程序。

关于java - JDBC set_approle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6833278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com