Microsoft Oracle Data Provider

D

Derek Brennan

Hi, I am currently using the Microsoft Oracle Data Provider
(System.Data.OracleClient) to access an Oracle database. Recently we noticed
some articles regarding support or distributed transactions. This appears to
be specific to an earlier version of the provider (1.0), but we would like
to satisfy ourselves that this is the case and that the 1.1 version is free
of this issue. Does anyone have any experience of this?
More generally, are there any sound reasons for choosing the Microsoft
provider over the Oracle provider (ODP.Net) or vice versa. Have read some
articles and have not seen anything so far to suggest that one is definitely
the better option.

Thanks,
Derek.
 
W

wfairl

Having used both I would definitely go with the Oracle managed provider
over the Microsoft one. We have run into several issues using the
microsoft provider and while some of them turned out to be Oracle bugs,
it really comes down to the fact that they are both built on top of the
OCI library, which is closed source and built by Oracle (they don't
even provide the debug symbols). If you have any doubts that the
Microsoft/Oracle development relationship isn't as close as it could
be, check out the Microsoft OracleConnectionString object in a
reflector, there's a valid (hidden) connection string value/property
named "WorkaroundOracleBug914652". I've actually had to use this
before, it has to do with calling procedures with savepoints in 8i.
 
F

Frans Bouma [C# MVP]

Derek said:
Hi, I am currently using the Microsoft Oracle Data Provider
(System.Data.OracleClient) to access an Oracle database. Recently we
noticed some articles regarding support or distributed transactions.
This appears to be specific to an earlier version of the provider
(1.0), but we would like to satisfy ourselves that this is the case
and that the 1.1 version is free of this issue. Does anyone have any
experience of this? More generally, are there any sound reasons for
choosing the Microsoft provider over the Oracle provider (ODP.Net) or
vice versa. Have read some articles and have not seen anything so far
to suggest that one is definitely the better option.

The ODP.NET versions get bigger and bigger each time they release a
new version, the expected size of the 10.2 ODP.NET version is 250MB+..

That's about the only disadvantage of ODP.NET over MS's provider. The
MS provider is pretty limited, especially in the supported types
department. For example, any NUMBER(x,y) maps to a decimal. That's
undesired, especially if you have fields with type NUMBER(3,0), you
don't want to store those types in decimals. :)

For the rest they're pretty much the same, with ODP.NET having abit
more features you might need but often don't need, like XML support

FB

--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
 
J

jonathan.m.bruce

You should consider another option: DataDirect provider an Oracle
ADO.NET provider which is both the most performant Oracle provider
available, is fully 100% managed code (no dependancies on Oracle client
libraries simialr to ODP.net) and provides all the features you would
expect.

We offer a trial download here

http://www.datadirect.com/products/net/index.ssp

-Jonathan Bruce
..NET and XQuery Technologies Program Manager
B: http://blogs.datadirect.com/jonthan_bruce
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top