Discussions
Categories
- 196.8K All Categories
- 2.2K Data
- 239 Big Data Appliance
- 1.9K Data Science
- 450.3K Databases
- 221.7K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 550 MySQL Community Space
- 478 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3K ORDS, SODA & JSON in the Database
- 544 SQLcl
- 4K SQL Developer Data Modeler
- 187K SQL & PL/SQL
- 21.3K SQL Developer
- 295.8K Development
- 17 Developer Projects
- 138 Programming Languages
- 292.5K Development Tools
- 107 DevOps
- 3.1K QA/Testing
- 646K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 155 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.1K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 18 Java Essentials
- 160 Java 8 Questions
- 86K Java Programming
- 80 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 204 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 439 LiveLabs
- 38 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 171 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 232 Portuguese
Transaction aborts after installing ODAC 12c Release 3
I have .net code that used a transaction scope which works fine using ODAC 11g Release 4, but fails with "Unable to enlist in a distributed transaction" using ODAC 12c Release 1,2, or 3. The transaction to a single database. I am at a loss for what could be the issue.
This issue occurs on both Windows 7 and Windows Server 2008 R2.
I have reviewed the trace logs for both the Microsoft Distributed Transaction Server, and the Oracle Services for Microsoft Transactions Services. The MSDTC trace logs indicate that the transaction abort was request was received from the calling application ("RECEIVED_ABORT_REQUEST_FROM_BEGINNER"). The ORAMTS trace logs indicate an OCI error and that there was an attempt to begin a distributed transaction with out logging on ("OCI_ERROR - 2048." , "ORA-02048: attempt to begin distributed transaction without logging on")
I can reproduce this error with a simple code example with just tried to insert records into a table. If I change the data provider to "System.Data.OracleClient", or uninstall 12c and install 11g this code works fine.
DataSet1TableAdapters.DataTable1TableAdapter da = new DataSet1TableAdapters.DataTable1TableAdapter(); using (TransactionScope scope = new TransactionScope()) { Transaction txn = Transaction.Current; try { da.Insert(0, "This ia a title"); scope.Complete(); lblmessage.Text = "Transaction Succeeded."; } catch (Exception ex) { txn.Rollback(); lblmessage.Text = "Transaction Failed."; }
Can anyone provide any ideas what is happening? I really would like to use ODAC 12c.
Thanks.
Best Answer
-
My team has been able to reproduce this problem with DB 10.2.0.3, but not with DB 10.2.0.5. If it's possible, I would recommend using 10.2.0.5 if you need an immediate solution.
Answers
-
Moving to the ODP.NET forum to get a wider audience.
-
Is this issue resolved?
We are facing the same issue in our applications we just moved to 12c ODAC Release 3
Applications that were working fine with 11g ODAC are failing now with below exception.
"exception: ORA-02048: attempt to begin distributed transaction without logging on"
Thanks
-
Which data provider are you using? If ODP.NET, is this with managed or unmanaged ODP.NET?
-
Not sure if this is the same issue but I can reliably produce an ORA-02048 with the current ODP.NET managed driver (4.121.2.0) and the simplest possible setup:
using( var ts = new TransactionScope() )
using( var conn = new OracleConnection() )
{
conn.ConnectionString = "Data Source=//host/svc;persist security info=true;user id=usr;password=pwd;enlist=true;";
conn.Open(); // ORA-02048 thrown here
}When connecting to 10g (10.2.0.3.0) an exception is always thrown at the line above, however 11g (11.2.0.1.0) works just fine.
If I add "promotable transaction=local" then the connection works but since this completely disables distributed transactions it's only a partial workaround.
-
My team has been able to reproduce this problem with DB 10.2.0.3, but not with DB 10.2.0.5. If it's possible, I would recommend using 10.2.0.5 if you need an immediate solution.
-
This issue was resolved after upgrading to Oracle 11g R2. It is a known issue in Oracle 10g.
-
the same issue to me in Oracle 10.@10.2.4. is there another way to resolve this issue except update database ?