The System.Data.OleDb namespace contains the provider-specific ADO.NET classes used to connect to an OLE DB data source, execute a command, and transfer data to and from a System.Data.DataSet . The OLE DB provider uses COM interop to access the OLE DB interfaces, so performance will not equal a native provider optimized for a specific data source. Most OLE DB providers are supported, including the OLE DB provider for SQL Server (SQLOLEDB) (which is required if you are using SQL Server 6.5 or earlier), the OLE DB provider for Oracle (MSDAORA), and the OLE DB provider for Microsoft Access (Microsoft.Jet.OLEDB.4.0). The OLE DB provider for ODBC (MSDASQL) isn't supported; you have to use the ODBC .NET provider instead. The OLE DB provider for Exchange (ExOLEDB), Internet Publishing (MSDAIPP), and any other provider that uses OLE DB Version 2.5 interfaces isn't supported. The MSDN framework lists the specific COM interfaces an OLE DB provider must support to be available through the OLE DB data provider.
Many of the types in this namespace implement an interface from the System.Data namespace or inherit from a class in the System.Data.Common namespace. This ensures a high degree of commonality between these types and those supplied with other ADO.NET data providers. The documentation on this namespace refers to these inherited classes and implemented interfaces where appropriate, and notes any OLE DB-specific functionality. Figures 37-1 and 37-2 show the types in this namespace.
Figure 37-1. The System.Data.OleDb namespace
Figure 37-2. More types from System.Data.OleDb