ora-03113 in direct mode

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
a-s-z
Posts: 106
Joined: Wed 03 Dec 2008 06:01

ora-03113 in direct mode

Post by a-s-z » Tue 21 May 2013 10:11

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

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: ora-03113 in direct mode

Post by AlexP » Wed 22 May 2013 13:30

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

a-s-z
Posts: 106
Joined: Wed 03 Dec 2008 06:01

Re: ora-03113 in direct mode

Post by a-s-z » Wed 22 May 2013 14:29

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

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: ora-03113 in direct mode

Post by AlexP » Thu 23 May 2013 08:08

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.

a-s-z
Posts: 106
Joined: Wed 03 Dec 2008 06:01

Re: ora-03113 in direct mode

Post by a-s-z » Thu 23 May 2013 09:09

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

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: ora-03113 in direct mode

Post by AlexP » Thu 23 May 2013 10:43

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.

a-s-z
Posts: 106
Joined: Wed 03 Dec 2008 06:01

Re: ora-03113 in direct mode

Post by a-s-z » Thu 23 May 2013 11:00

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

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: ora-03113 in direct mode

Post by AlexP » Fri 24 May 2013 10:22

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 .

a-s-z
Posts: 106
Joined: Wed 03 Dec 2008 06:01

Re: ora-03113 in direct mode

Post by a-s-z » Tue 28 May 2013 06:14

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

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: ora-03113 in direct mode

Post by AlexP » Tue 28 May 2013 11:27

Hello,

I have sent you a fixed versions

Post Reply