【发布时间】:2018-11-05 18:46:18
【问题描述】:
任何人都可以提供一个足够好的共享Sys_Context 使用示例
Dbms_Session.Set_Identifier(user_id)
我希望在用户成功登录后能够从不同的连接访问某些 sys 上下文属性。
我的场景:
Spring Boot 2.0.6 使用 HikariCP 连接池连接到 Oralce 11g
程序
- 用户访问登录页面
- 登录 ->
user_id设置为Dbms_Session.Set_Context('ENV', USER_ID, user_id) - 用户访问某些资源(例如帐户)->
Sys_Context('ENV', user_id)返回Null
Sys_Context('ENV', user_id) 返回 Null,因为资源通过不同的连接访问 db,因此 CURRENT 上下文中没有 user_id。
此 Oracle 文档声称这是可能的:https://docs.oracle.com/cd/B28359_01/network.111/b28531/app_context.htm#DBSEG79745
如下所示: https://oracle-base.com/articles/misc/dbms_session https://web.stanford.edu/dept/itss/docs/oracle/10gR2/network.102/b14266/apdvcntx.htm
如果这不可能,请说明 Dbms_Session.Set_Identifier(user_id) 的确切用途,因为我发现这些文档非常晦涩,我无法复制它们显示的任何示例。
【问题讨论】:
标签: database spring oracle plsql