Results 1 to 1 of 1
  1. #1
    Join Date
    Oct 2004

    Unanswered: Error (ORA-02074) when calling ORACLE PL/SQL procedure from MSACCESS

    Hi, I'm trying to launch an Oracle PL/SQL procedure from
    MSACCESS but get the following Oracle errors :

    ORA-02074: cannot SET NLS in a distributed transaction
    ORA-06512: at "SYS.DBMS_SESSION", line 105

    I use ODBC to connect to the Oracle db.

    The procedure invoked contains a 'dbms_session.set_nls" which seems to be the reason of the failure but what i don't understand is that this error only occurs since upgrading from 8i to Oracle 9i on user's pc.

    Any idea of how i can disable the 'distributed transaction' via ODBC ? i found suggestions on the web mentionning a distribtx=0 flag, but it seems to be only working with Oledb as i tested it in my connect string with no results. I could solve this by passing the nls_language parameter directly to the to_char function of my PL/SQL code, instead of altering the session via the dbms package, but i would prefer leaving the code as it was before (including the call to the dbms package to change the nls_language), and understand how to tell ODBC my transactions are not 'distibuted'

    The ODBC driver provider is the Oracle 9.2's one (

    Last point, the PL/SQL procedure perfectly works when launched
    directly on Oracle's side (meaning not from MSACCESS)

    Any help would be appreciated.


    Last edited by fiorah; 10-13-04 at 08:32.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts