Page 1 of 1

ora-03113 in direct mode

Posted: Tue 21 May 2013 10:11
by a-s-z
Hi,

we upgraded our installation to 9.0.1, because some bugs are fixed in direct mode.

when using Prepare on a query like

Code: Select all

select
  text||' 12345678#äüöÄÜÖßß' a1 
  ,length(text)
from (select 'foo' text from dual) ove
an ora-03113 is raised using direct mode :(

partial call stack:

Code: Select all

exception class   : EOraError
exception message : ORA-03113: end-of-file on communication channel.

main thread ($dfc):
0066bbed +000 odac160.bpl
0067764f +03f odac160.bpl  Oraclasses         TOCICommand.Check
0067a0e2 +256 odac160.bpl  Oraclasses         TOCICommand.InternalExecute
006831c6 +0e2 odac160.bpl  Oraclasses         TOCIRecordSet.InternalInitFields
004b9af2 +046 dac160.bpl   Memdata            TData.InitFields
004c2a20 +008 dac160.bpl   Memdata            TMemData.InitFields
0057286d +00d dac160.bpl   Craccess           TCRRecordSet.InitFields
00571fac +040 dac160.bpl   Craccess           TCRRecordSet.Prepare
0051ce3e +022 dac160.bpl   Memds              TMemDataSet.Prepare
00541378 +110 dac160.bpl   Dbaccess           TCustomDADataSet.Prepare
0046c7d3 +177 OdacTest.exe Main       234 +14 TForm2.TestSession
I can provide a test application if needed.

Please fix this error as soon as possible.

Best Regards,
Andre

Re: ora-03113 in direct mode

Posted: Wed 22 May 2013 13:30
by AlexP
Hello,

We couldn't reproduce the problem on a simple application (OraSession->(Direct)->OraQuery->'Your query'->Prepare). Please send a sample demonstrating the problem to alexp*devart*com, specify the IDE and Oracle versions and the NLS server settings

Re: ora-03113 in direct mode

Posted: Wed 22 May 2013 14:29
by a-s-z
Here is the output of test app. IDE is Delphi XE2.

Code: Select all

DACProductName DACVersion: ODAC 9.0.1
============================================================
select
  text||' 12345678#äüöÄÜÖßß' a1 
  ,length(text)
from (select 'foo' text from dual) ove
============================================================
------------------------------------------------------------
Connecting ... Direct: False
OCIVersion: 10201
------------------------------------------------------------
     OracleVersion: 11.2.0.3.0
           Charset: 
OraCall.OCIUnicode: True
    Options.Direct: False
Options.UseUnicode: True
                  NLS_LANGUAGE | GERMAN
                 NLS_TERRITORY | GERMANY
                  NLS_CURRENCY | €
              NLS_ISO_CURRENCY | GERMANY
        NLS_NUMERIC_CHARACTERS | ,.
                  NLS_CALENDAR | GREGORIAN
               NLS_DATE_FORMAT | DD.MM.RR
             NLS_DATE_LANGUAGE | GERMAN
              NLS_CHARACTERSET | AL32UTF8
                      NLS_SORT | GERMAN
               NLS_TIME_FORMAT | HH24:MI:SSXFF
          NLS_TIMESTAMP_FORMAT | DD.MM.RR HH24:MI:SSXFF
            NLS_TIME_TZ_FORMAT | HH24:MI:SSXFF TZR
       NLS_TIMESTAMP_TZ_FORMAT | DD.MM.RR HH24:MI:SSXFF TZR
             NLS_DUAL_CURRENCY | €
        NLS_NCHAR_CHARACTERSET | AL16UTF16
                      NLS_COMP | BINARY
          NLS_LENGTH_SEMANTICS | BYTE
           NLS_NCHAR_CONV_EXCP | FALSE
Time to open: 0ms
RecordCount: 1
Time to fetch: 0ms
Fields[0]
\-    DataType:         ftWideString,     Length:  29,     Size:  29
\-      DBType:                 Char,   DBLength:  29, DescSize:  60
\- fd.DataType:         dtWideString, fd.SubType: 117
\-    AsString: "foo 12345678#äüöÄÜÖßß"
------------------------------------------------------------
------------------------------------------------------------
Connecting ... Direct: True
OCIVersion: 9200
------------------------------------------------------------
     OracleVersion: 11.2.0.3.0
           Charset: 
OraCall.OCIUnicode: True
    Options.Direct: True
Options.UseUnicode: True
                  NLS_LANGUAGE | GERMAN
                 NLS_TERRITORY | GERMANY
                  NLS_CURRENCY | ?
              NLS_ISO_CURRENCY | GERMANY
        NLS_NUMERIC_CHARACTERS | ,.
                  NLS_CALENDAR | GREGORIAN
               NLS_DATE_FORMAT | DD.MM.RR
             NLS_DATE_LANGUAGE | GERMAN
              NLS_CHARACTERSET | AL32UTF8
                      NLS_SORT | GERMAN
               NLS_TIME_FORMAT | HH24:MI:SSXFF
          NLS_TIMESTAMP_FORMAT | DD.MM.RR HH24:MI:SSXFF
            NLS_TIME_TZ_FORMAT | HH24:MI:SSXFF TZR
       NLS_TIMESTAMP_TZ_FORMAT | DD.MM.RR HH24:MI:SSXFF TZR
             NLS_DUAL_CURRENCY | ?
        NLS_NCHAR_CHARACTERSET | AL16UTF16
                      NLS_COMP | BINARY
          NLS_LENGTH_SEMANTICS | BYTE
           NLS_NCHAR_CONV_EXCP | FALSE
Exception [EOraError]: ORA-03113: end-of-file on communication channel

Re: ora-03113 in direct mode

Posted: Thu 23 May 2013 08:08
by AlexP
Hello,

Thank you for the information. The problem is really reproduced when setting the OCIUnicode variable to True. We are investigating this problem and will inform you as soon as we have any results.

Re: ora-03113 in direct mode

Posted: Thu 23 May 2013 09:09
by a-s-z
Hi,
AlexP wrote:Thank you for the information. The problem is really reproduced when setting the OCIUnicode variable to True. We are investigating this problem and will inform you as soon as we have any results.
Which features do I loose, when setting OCIUnicode to false? Do I have to set UseUnicode to False in OraSession too?

Best regards,
Andre

Re: ora-03113 in direct mode

Posted: Thu 23 May 2013 10:43
by AlexP
Hello,

If OS regional settings match Oracle server settings, you don't need to enable this variable. Otherwise, when using unicode symbols directly in the query body, encoding problems can occur.

Re: ora-03113 in direct mode

Posted: Thu 23 May 2013 11:00
by a-s-z
Hi Alex,
AlexP wrote:If OS regional settings match Oracle server settings, you don't need to enable this variable. Otherwise, when using unicode symbols directly in the query body, encoding problems can occur.
Thanks for the quick answer.
Is it possible to encode such symbols e.g. using unichr function?
What is about column aliases/names containing unicode chars, e.g. äüö?
Everything else will work in unicode without OCIUnicode?

BTW: Is it possible to insert my signatue automatically in quotes or replies? I have activated the option in preferences, but it does not seem to work.


Best regards,
Andre

Re: ora-03113 in direct mode

Posted: Fri 24 May 2013 10:22
by AlexP
Hello,

We have already fixed this problem and can send you the fixed ODAC version. Please send your license number, registration e-mail and the IDE version to alexp*devart*com .

Re: ora-03113 in direct mode

Posted: Tue 28 May 2013 06:14
by a-s-z
Hi,
AlexP wrote:We have already fixed this problem and can send you the fixed ODAC version. Please send your license number, registration e-mail and the IDE version to alexp*devart*com .
Thanks, I have sent a mail friday and today.

Best regards,
Andre

Re: ora-03113 in direct mode

Posted: Tue 28 May 2013 11:27
by AlexP
Hello,

I have sent you a fixed versions