OLE DB Provider for ODBC(数据库引擎)

OLE DB Provider for ODBC 可为 ODBC 数据源提供 OLE DB 接口。通过使用 OLE DB Provider for ODBC,分布式查询便可以访问所有 ODBC 数据。

注意注意

对于 SQL Server 2000 数据源,请使用 SQL Server Native Client OLE DB 访问接口。不使用 OLE DB Provider for ODBC。

创建链接服务器以便在使用 ODBC 数据源时访问 ODBC 数据库:

  1. 在安装了 SQL Server 的计算机上创建系统数据源。

  2. 执行 sp_addlinkedserver 以创建链接服务器,指定 MSDASQL 或 NULL 作为 provider_name,并指定 ODBC 系统数据源的名称作为 data_source。

    ODBC 用户数据源无法用于分布式查询,因为 SQL Server 在 Microsoft Windows 上作为一个服务运行,而服务并非总能访问用户数据源。例如,名为 SystemDSN 的系统数据源引用了运行 SQL Server 并以 AdventureWorks2008R2 作为默认数据库的服务器:

    sp_addlinkedserver 'SQLAdWorks', ' ', 'MSDASQL', 'SystemDSN'
    

链接服务器可以在不使用 ODBC 数据源的情况下使用 OLE DB Provider for ODBC。链接服务器只需一步即可定义。OLE DB Provider for ODBC 用来定位 ODBC 驱动程序和连接 ODBC 数据源的所有信息都必须在 provider_string 中定义。

如果通过使用 OLE DB Provider for ODBC 定义链接服务器,且该链接服务器访问 SQL Server 数据库,则存在下列限制:

  • 不能引用包含一个或多个 timestamp 列的表。

  • 不能引用包含可为 Null 的 char、varchar、nchar、nvarchar、binary 或 varbinary 列并且在创建时将 ANSI_PADDING 选项设置为 OFF 的表。