SQL Server 2008 中的 SQL Server Native Client 支持策略

本主题讨论如何将各种数据访问组件与 SQL Server 2008 的 SQL Server Native Client 10.0 一起使用。

服务器支持

SQL Server Native Client 10.0 支持与 SQL Server 2000、SQL Server 2005 和 SQL Server 2008 的连接。

使用 ODBC 时,如果连接到早于 SQL Server 2000 的服务器版本,则 SQLBrowseConnectSQLConnectSQLDriverConnect 将失败。该连接将终止且返回 SQL_ERROR。

使用 OLE DB 时,如果连接到早于 SQL Server 2000 的服务器版本,则 IDBInitialize::InitializeIDataInitialize::GetDataSource 将返回 E_FAIL。

ADO 支持策略

ADO 应用程序如果不需要 SQL Server 2005 或更高版本的任意功能,则可以使用随 Windows 附带的 SQLOLEDB OLE DB 访问接口。

ADO 应用程序可以使用 SQL Server 2005 中附带的 SQL Server Native Client 版本。ADO 应用程序还可以使用 SQL Server Native Client 10.0(随 SQL Server 2008 附带),但使用时必须在连接字符串中指定 DataTypeCompatibility=80。如果连接字符串中包含 DataTypeCompatibility=80,则只能使用 SQL Server 2005 的功能。

BCP 支持策略

自 SQL Server 2008 开始,bcp.exe 支持比附带 bcp.exe 的 SQL Server 版本不早于三个 SQL Server 版本的数据文件。

也就是说,SQL Server 2008 中 bcp.exe 的版本不支持 -6 命令行选项,以及 –V 命令行选项的 60 和 65 选项。

BCP API 不再支持 7.0 版本之前的数据文件格式。对于 ODBC,从 bcp_control 以及 sqlncli.h 中特定于版本 90 的关联常量中删除了 BCP6xFILEFMT 选项。对于 OLE DB,IBCPSession::BCPControl 的 BCP_OPTION_FILEFMT 选项不再接受值 60 或 65。如果使用这些值,将返回 E_FAIL。ISQLServerErrorInfo 返回的关联 SSERRORINFO 将在 pwszMessage 中包含消息“The specified data file format is no longer supported”(不再支持指定的数据文件格式)。

ODBC 支持策略

应用程序应当使用随 Windows 操作系统附带的 SQL Server ODBC 驱动程序。如果应用程序经认证可与特定版本的 SQL Server Native Client 一起使用,那么可以使用 SQL Server Native Client ODBC 驱动程序。

OLE DB 支持策略

应用程序应当使用随 Windows 操作系统附带的 SQL Server OLE DB 访问接口。如果应用程序经认证可与特定版本的 SQL Server Native Client 一起使用,那么可使用 SQL Server Native Client OLE DB 访问接口。

未经认证以与 SQL Server Native Client 一起使用的 OLE DB 应用程序,如果在其连接字符串中指定了 DataTypeCompatibility=80,那么也可以使用 SQL Server Native Client。

对于使用 OLE DB 服务组件的 OLE DB 应用程序,如果在其连接字符串中指定了 DataTypeCompatibility=80,那么只能使用 SQL Server Native Client。不过,这种情况下 SQL Server 2005 之后增加的所有功能将不可用。