对于JDBC应用程序,我需要发出几个ALTER SESSION命令。我不想将它们放入应用程序代码本身。有没有一种方法可以为应用程序使用的数据库模式(在数据库端)指定会话参数的默认值?为Oracle用户设置默认“更改会话”
8
A
回答
13
大多数会话参数是由客户端应用程序定义的。如果您想覆盖客户端设置,您可以创建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;
+1
登录数据库触发器是在没有更改应用程序代码的情况下执行此操作的唯一方法。 – mathewbutler 2009-09-14 08:03:17
0
我还没有测试过这个,但是你可以让应用程序调用一个存储过程来创建会话时设置会话变量吗?然后,您可以在需要时修改服务器端的存储过程。
+0
关键是不要改变应用程序代码。如果我将其更改为包含会话创建的某些操作(例如调用存储过程),那么我可能会使这些操作可配置(例如从文件读取它们),以便直接包含ALTER SESSION调用。 – Thilo 2009-09-14 06:45:01
相关问题
- 1. Oracle设置每个用户的默认方案(不会改变会话)
- 2. 更改默认设置
- 3. MySQL更改默认会话日期
- 4. Android appwidget有时会将首选项更改为默认设置
- 5. 下拉值不会更改/设置为默认值
- 6. 设置UIButton的titleLabel字体会将textColor更改为默认值?
- 7. 更改默认语言为Oracle快捷
- 8. 在Oracle中为当前用户设置默认值
- 9. Oracle:为数字列设置默认值
- 10. Apache更改默认用户
- 11. MediaWiki - 为新用户设置默认组
- 12. PHP - 为用户设置默认图片
- 13. MediaWiki为新用户设置默认组
- 14. 绘制栅格时将par()设置更改为默认设置
- 15. 如何更改默认NLS_DATE_FORMAT为Oracle JDBC客户端
- 16. 如何在添加新用户时更改默认设置?
- 17. 检测到更改的用户默认设置
- 18. 更改用户JIRA中的默认设置
- 19. 根据用户动态设置或更改默认语言 - Django
- 20. 如何更改新用户(Vtiger CRM)的默认设置?
- 21. 如何更改c中字体对话框的默认设置
- 22. 更改SQLite的默认设置
- 23. 更改cowplot主题的默认设置
- 24. 更改设置值的默认值
- 25. 更改Django的默认模型设置
- 26. 如何更改$ .ajax()的默认设置?
- 27. 安装时更改Ssms2008默认设置
- 28. 更改默认设置对于Visual Studio
- 29. Drupal的更改默认节点设置
- 30. 将userId设置为从默认设置为当前用户
@Thilo,谢谢你刚才救了我大量的时间! – 2010-04-13 08:27:19