我正在尝试使用 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();
关于为什么这不起作用的任何想法?