OLE DB-Anbieter für ODBC (Datenbankmodul)

Der OLE DB-Anbieter für ODBC stellt eine OLE DB-Schnittstelle für ODBC-Datenquellen bereit. Mithilfe des OLE DB-Anbieters für ODBC können verteilte Abfragen auf alle ODBC-Daten zugreifen.

HinweisHinweis

Verwenden Sie für SQL Server 2000-Datenquellen den SQL Server Native Client-OLE DB-Anbieter. Verwenden Sie nicht den OLE DB-Anbieter für ODBC.

So erstellen Sie einen Verbindungsserver für den Zugriff auf eine ODBC-Datenbank beim Verwenden einer ODBC-Datenquelle

  1. Erstellen Sie eine Systemdatenquelle auf dem Computer, auf dem SQL Server installiert ist.

  2. Führen Sie sp_addlinkedserver aus, um den Verbindungsserver zu erstellen, und geben Sie dabei MSDASQL oder NULL als provider_name sowie den Namen einer ODBC-Systemdatenquelle als data_source an.

    ODBC-Benutzerdatenquellen können nicht für verteilte Abfragen verwendet werden, da SQL Server als Dienst unter Microsoft Windows ausgeführt wird und Dienste nicht immer Zugriff auf Benutzerdatenquellen haben. Eine Systemdatenquelle mit dem Namen SystemDSN verweist z. B. auf einen Server, auf dem SQL Server ausgeführt wird und dessen Standarddatenbank AdventureWorks2008R2 ist:

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

Verbindungsserver können den OLE DB-Anbieter für ODBC verwenden, ohne eine ODBC-Datenquelle zu benutzen. Der Verbindungsserver wird in einem Schritt definiert. Alle Informationen, die der OLE DB-Anbieter für ODBC zum Lokalisieren eines ODBC-Treibers und Herstellen einer Verbindung mit einer ODBC-Datenquelle benötigt, müssen in provider_string definiert sein.

Die folgenden Einschränkungen gelten, wenn ein Verbindungsserver mit dem OLE DB-Anbieter für ODBC definiert wurde und auf eine SQL Server-Datenbank zugreift:

  • Es kann nicht auf Tabellen verwiesen werden, die eine oder mehrere timestamp-Spalten enthalten.

  • Es kann nicht auf Tabellen verwiesen werden, die char-, varchar-, nchar-, nvarchar-, binary oder varbinary-Spalten enthalten, die NULL zulassen, und wenn beim Erstellen der Tabelle die Option ANSI_PADDING auf OFF festgelegt war.