【发布时间】:2010-11-28 01:03:54
【问题描述】:
对于 JDBC 应用程序,我需要发出一些 ALTER SESSION 命令。我不想将它们放入应用程序代码本身。有没有办法为应用程序使用的数据库模式(在数据库端)指定会话参数的默认值?
【问题讨论】:
-
@Thilo,谢谢你为我节省了很多时间!
标签: oracle session configuration
对于 JDBC 应用程序,我需要发出一些 ALTER SESSION 命令。我不想将它们放入应用程序代码本身。有没有办法为应用程序使用的数据库模式(在数据库端)指定会话参数的默认值?
【问题讨论】:
标签: oracle session configuration
大多数会话参数由客户端应用程序定义。如果您想覆盖客户端设置,您可以创建一个DATABASE TRIGGER。例如,这将在BAR 架构上创建一个LOGON 触发器:
CREATE OR REPLACE TRIGGER bar.foo
AFTER LOGON ON DATABASE WHEN (USER = 'BAR')
BEGIN
dbms_session.set_nls('NLS_NUMERIC_CHARACTERS', '''.,''');
EXECUTE IMMEDIATE 'ALTER SESSION SET CURRENT_SCHEMA=hr';
END foo;
【讨论】:
我还没有对此进行测试,但是您能否让应用程序调用一个存储过程,以便在创建会话时设置会话变量?然后,您可以在需要时修改服务器端的存储过程。
【讨论】: