Geeks With Blogs
Jeffrey's Blog .Net Developer

The Oracle Data Provider for .Net (ODP.Net) version 10g does not support local database locking unless Patch 5916667 is applied.  Because all transactions will be treated as distributed (i.e., spanning multiple databases), this might have adverse affects on performance, block level locking (as opposed to row level) and limited functionality (e.g., not supporting global temporary tables).

This affects the Microsoft Line of Business Adapter for Oracle (Oracle LOB) as it relies on ODP.Net for interacting with the Oracle Client.

Applying the patch is pretty straight forward and can be downloaded via Oracle Metalink.

Even after the patch, the default behaviour is to create a distributed transaction.  This can be manually specified by creating and setting the following registry key:


The Transaction List of the Distributed Transaction Coordinator can be used to verify if the patch and setting has been applied successfully.  The following screenshot illustrates that the registry PromotableTransaction key has been set to "promotable" and distributed transactions are being generated (assuming the locks do not belong to any other processes):


Posted on Monday, January 7, 2008 9:36 PM ODP.Net , Oracle , LOB Adapters | Back to top

Comments on this post: Oracle ODP.Net Transactions

# re: Oracle ODP.Net Transactions
Requesting Gravatar...
Oracle Patch 5916667 brings %oracle_home%\\bin\2.x\Oracle.DataAccess.dll to version right?
Left by S P on Mar 18, 2008 9:14 AM

Your comment:
 (will show your gravatar)

Copyright © Chilberto | Powered by: