The OLE DB provider interface provides access to a database through an OLE DB provider installed on your computer. Most OLE DB providers are supported, but those that use OLE DB Version 2.5 interfaces aren't supported. Some unsupported OLE DB interfaces include:
OLE DB provider for ODBC (MSDASQL)
OLE DB provider for Exchange (ExOLEDB)
OLE DB for Internet Publishing (MSDAIPP)
Table A-3 lists some commonly used OLE DB drivers.
Name |
Description |
---|---|
SQLOLEDB |
OLE DB provider for SQL Server |
MSDAORA |
OLE DB provider for Oracle 7.3 and Oracle 8. |
Microsoft.Jet.OLEDB.4.0 |
OLE DB provider for Access (and other Jet data sources) |
All OLE DB types are contained in the System.Data.OleDb namespace (see Table A-4). For low-level information about OLE DB providers, you can refer to the OLE DB programmer's reference on MSDN at http://msdn.microsoft.com/library/en-us/oledb/htm/oledb_providers_overview.asp.
Interface |
Implementing class |
---|---|
IDbConnection |
OleDbConnection |
IDbCommand |
OleDbCommand |
IDataParameter, IDbDataParameter |
OleDbParameter |
IDataReader, IDataRecord |
OleDbDataReader |
IDataAdapter, IDbDataAdapter |
OleDbDataAdapter |
IDbTransaction |
OleDbTransaction |
The OLE DB managed provider doesn't include any structures for OLE DB types. However, the OleDbDataReader does include additional methods that allow you to specify the data type when retrieving a column value. Table A-5 shows the mapping between OLE DB types and .NET framework types (although it doesn't include types used exclusively for stored procedure parameters).
OLE DB data type |
Mapped .NET type |
Name in OleDBType enumeration |
---|---|---|
DBTYPE_I8 |
Int64 |
BigInt |
DBTYPE_BYTES |
Byte[] |
Binary |
DBTYPE_BOOL |
Boolean |
Boolean |
DBTYPE_BSTR |
String |
BSTR |
DBTYPE_STR |
String |
Char |
DBTYPE_CY |
Decimal |
Currency |
DBTYPE_DATE |
DateTime |
Date |
DBTYPE_DBDATE |
DateTime |
DBDate |
DBTYPE_DBTIME |
TimeSpan |
DBTime |
DBTYPE_DBTIMESTAMP |
DateTime |
DBTimeStamp |
DBTYPE_DECIMAL |
Decimal |
Decimal |
DBTYPE_R8 |
Double |
Double |
DBTYPE_EMPTY |
Not applicable |
Empty |
DBTYPE_ERROR |
Exception |
Error |
DBTYPE_FILETIME |
DateTime |
Filetime |
DBTYPE_GUID |
Guid |
Guid |
DBTYPE_IDISPATCH |
Not supported |
IDispatch |
DBTYPE_I4 |
Int32 |
Integer |
DBTYPE_UNKNOWN |
Not supported |
IUnknown |
DBTYPE_NUMERIC |
Decimal |
Numeric |
DBTYPE_PROPVARIANT |
Object |
PropVarian |
DBTYPE_R4 |
Single |
Single |
DBTYPE_I2 |
Int16 |
SmallInt |
DBTYPE_I1 |
SByte |
TinyInt |
DBTYPE_UI8 |
UInt64 |
UnsignedBitInt |
DBTYPE_UI4 |
UInt32 |
UnsignedInt |
DBTYPE_UI2 |
UInt16 |
UnsignedSmallInt |
DBTYPE_UI1 |
Byte |
UnsignedTinyInt |
DBTYPE_VARIANT |
Object |
Variant |
DBTYPE_WSTR |
String |
WChar |