Marina said:
Anyone have experience with the provider from Microsoft vs. the one
from Oracle? I haven't looked very much at either.
One would assume that the one written by Oracle itself should perform
better, since they should be able to optimize it?
MS' version doesn't support the XML type, it always returns any
NUMBER(x,y) as decimal and doesn't have some of the fancy features
ODP.NET supports. There are also minor issues with varchar fields: you
can't save a UNICODE encoded string in a varchar field, because when
you set the parameter's OracleType to VarChar, it will result into
using DbType.AnsiString under the hood, allowing only non-unicoded
strings. This is of course to support 8i, but when you're using 9i or
higher this sucks bigtime if you need to store unicoded strings.
ODP.NET and MS' provider are on par with performance, as both rely on
the Oracle CLI (client interface). You have to install the client no
matter what, so with MS' provider you've to install the client
separately, with ODP.NET you get the client installed.
I'd pick ODP.NET without any hesitation. Not only does it support more
features but you can say what you want about Oracle, they DO release
bugfixes from time to time, while Microsoft is very slow to release
bugfixes (service packs for .net framework).
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#)
------------------------------------------------------------------------