The SQL Server provider provides access to a SQL Server database (Version 7.0 or later) through the optimized Tabular Data Stream (TDS) interface (see Table A-1). To connect to the pre-7.0 version of SQL Server, use the OLE DB .NET data provider with the SQL Server OLE DB provider (SQLOLEDB). The connection-specific types are found in the System.Data.SqlClient namespace. Table A-1. SQL Server provider classes Interface | Implementing class | IDbConnection | SqlConnection | IDbCommand | SqlCommand | IDataParameter , IDbDataParameter | SqlParameter | IDataReader , IDataRecord | SqlDataReader | IDataAdapter, IDbDataAdapter | SqlDataAdapter | IDbTransaction | SqlTransaction | The SQL Server provider also provides .NET structures that map exactly to SQL Server types in the System.Data.SqlTypes namespace (see Table A-2). You can use SqlDataReader methods such as GetSqlMoney( ) and GetSqlDataTime( ) to retrieve values using these types (as described in Chapter 2). Table A-2. Native SQL Server data types SQL Server data type | Mapped .NET Type(System namespace) | Underlying .NET type(SqlTypes namespace) | Binary | Byte[] | SqlBinary | Bigint | Int64 | SqlInt64 | Char | String | SqlString | Datetime | Datetime | SqlDateTime | Decimal | Decimal | SqlDecimal | Float | Double | SqlDouble | Image | Byte[] | SqlBinary | Int | Int32 | SqlInt32 | Money | Decimal | SqlMoney | Nchar | String | SqlString | Ntext | String | SqlString | Nvarchar | String | SqlString | Numeric | Decimal | SqlDecimal | Real | Single | SqlSingle | Smalldatetime | Datetime | SqlDateTime | Smallint | Int16 | SqlInt16 | Smallmoney | Decimal | SqlMoney | sql_variant | Object | System.Object (base class) | Sysname | String | SqlString | Text | String | SqlString | Timestamp | Datetime | SqlBinary | Tinyint | Byte | SqlByte | Varbinary | Byte[] | SqlBinary | Varchar | String | SqlString | Uniqueidentifier | Guid | SqlGuid | |