Hello, dear guru.
The fact that they decided to move to a new platform of Windows 7 (from XP/2000).
Our application works without problems, that's just not a problem - can not get the desired date format by default.
to communicate with the base use ODAC (6.0.0.4) with the option Direct = true.
object mySession: TOraSession
Options.DateFormat = 'DD.MON.YYYY'
Options.Direct = True
ConnectDialog = m_ConnectDialog
AfterConnect = mySessionAfterConnect
Left = 408
Top = 80
end
at Win7:
SELECT sysdate FROM dual;
> 3/31/2010 4:00:00 PM
The most interesting thing that in any other machine with Win XP/2000 such a request in our application returns the desired:
31.03.2010 16:00:00
And in the database hangs trigger on_logon:
CREATE OR REPLACE TRIGGER set_date_format AFTER LOGON ON DATABASE
BEGIN
execute immediate 'alter session set nls_date_format =''DD.MM.YYYY''';
END;
"_system_trig_enabled" = TRUE
I understand that this is not affected, but tried to dance with a tambourine in the form NLS_DATE_FORMAT in the registry and environment variable - of course there is no effect.
select * from v $ parameter where NAME like '% nls_date_format%';
>
1 156 nls_date_format 2 DD.MM.YYYY DD.MM.YYYY FALSE TRUE FALSE FALSE FALSE FALSE FALSE NLS Oracle date format 677,968,994
select * from v $ version;
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL / SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
select * from nls_session_parameters
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS.,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD.MM.YYYY
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE