有没有可能做
alter session set current_schema=MySchema;
在包裹内?
我们的 asp.net Web 应用程序调用 Oracle 包。我们想使用不是 MySchema 所有者的 Oracle 用户连接到数据库。为此,我们授予 Other_User 的执行权限以打包 MyPackage。
例子:
grant execute on MySchema.MyPackage to Other_User
但是当 web 应用程序连接到 Oracle 并尝试执行 MyPackage 的存储过程时,它会出错,因为表不属于 Other_User。
避免错误的一种方法是创建同义词,但我们更愿意使用
alter session set current_schema=MySchema;
如果可能的话,在包装内。
编辑:尝试将“更改会话”放入包中时: