Microsoft SQL Server .NET data provider (SqlClient) is
slower than OLE DB .NET data provider (OleDb) when you use connection pooling
with integrated security.
Microsoft is researching this problem and will post new
information in the Microsoft Knowledge Base as it becomes available.
Microsoft has confirmed that this is a bug in the Microsoft
products that are listed at the beginning of this article.
The SQL Server .NET Data Provider uses its own protocol to
communicate with SQL Server. It is lightweight and performs well because it is
optimized to access SQL Server directly, without adding an OLE DB or Open
Database Connectivity (ODBC) layer.
The OLE DB .NET Data Provider
communicates to an OLE DB data source through both the OLE DB Service component
(which provides connection pooling and transaction services), and the OLE DB
Provider for the data source. So the slowness in connection pooling should be
negligible when compared to other performance benefits when you use SQL Server
.NET Data Provider to connect to SQL Server.
SQL Server .NET Data
Provider is recommended for applications that use Microsoft SQL Server 7.0 or
later. OLE DB .NET Data Provider is recommended for middle-tier applications
that use Microsoft SQL Server 6.5 or earlier, or any OLE DB provider that
supports the OLE DB interfaces.
For additional information about ADO.NET, click the article
number below to view the article in the Microsoft Knowledge Base:
INFO: Roadmap for ADO.NET
For additional information about .NET Data Providers,
click the article number below to view the article in the Microsoft Knowledge
INFO: Roadmap for .NET Data Providers
For more information about Connection Pooling, see
the Microsoft .NET Framework SDK Documentation, or browse to the following MSDN