我在Oracle 10.2 XE上定义了全局nls_date_format,如下所示:
alter system set nls_date_format='YYYY-MM-DD HH24:MI:SS' scope=spfile;
Run Code Online (Sandbox Code Playgroud)
在Windows上连接时,客户端会使用会话特定格式覆盖它,因此我需要在每个会话开始时运行此行:
alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
Run Code Online (Sandbox Code Playgroud)
但是,我有一些我无法更改的自定义代码(jdbc代码,使用ojdbc14.jar),因此我在接收连接时无法执行此行.有没有办法为所有jdbc连接更改nls_date_format的默认值?也许在连接字符串中添加一些东西,或者我可以使用的一些环境变量?
顺便说一句,sqlplus和sqldeveloper也用自己的格式覆盖服务器的格式,但是我发现了如何更改它们的默认值,所以问题只在于jdbc连接.
谢谢,这对我有用.我插入的触发器是这样的:
CREATE OR REPLACE TRIGGER LOGINTRG
AFTER LOGON ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_DATE_FORMAT=''YYYY-MM-DD HH24:MI:SS''';
END LOGINTRG;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36485 次 |
| 最近记录: |