OleDb versus (Sql,Oracle,Odbc etc..)

R

Robby

Is there a peformance difference when using OleDB classes
instead of SqlServer? Or are the differences mainly
functional, for example SqlServer lets you perform more
of its proprietry functions using it's classes. Any help
appriciated! This question is the same for Oracle, Odbc
and any other specific .NET provider...

Thanks, Robby
 
W

William \(Bill\) Vaughn

Consider that anytime a .NET application has to execute COM code (as it
needs to when it uses OLE DB), it has to do so via a COM Interop which takes
time and hurts performance. The SqlClient and Oracle .NET data providers use
"native" managed code. For the first time since DBLib, these providers can
use their native "language" to communicate with their targeted data source.
This means the SqlClient uses TDS to communicate to Microsoft SQL Server and
JUST SQL Server. The provider does not have to include any code to support
any other data provider. The OLE DB provider has tons of code to support the
generic interface that has to communicate with a data source-specific
provider--a two-step process.
SqlClient also supports a number of features that aren't supported on OLE DB
or even all other .NET data providers. For example the SqlClient provider
knows how to manage and monitor the connection pool.
Okay, the differences won't be that great. But I expect we'll see more and
more performance from native .NET providers and more and more data
source-specific functionality to make them even more powerful.

hth

--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
MVP, hRD
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
 

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