Release-Informationen


6.6 Zugriff auf Microsoft SQL Server-Datenquellen mit ODBC (neues Kapitel)

Bevor Sie einem DB2-Server mit zusammengeschlossenen Datenbanken Microsoft SQL Server-Datenquellen hinzufügen, müssen Sie den ODBC-Treiber auf dem Server mit zusammengeschlossenen Datenbanken installieren und konfigurieren. Genaue Einzelangaben zur Installation der ODBC-Treibers finden Sie in den Installationsanleitungen in der Dokumentation, die mit dem ODBC-Treiber ausgeliefert wird.

Sie müssen die folgenden Operationen ausführen, um Ihren Server mit zusammengeschlossenen Datenbanken für den Zugriff auf Daten zu definieren, die in Microsoft SQL Server-Datenquellen gespeichert sind:

  1. Installieren und konfigurieren Sie den ODBC-Treiber auf dem Server mit zusammengeschlossenen Datenbanken. Genaue Einzelangaben zur Installation der ODBC-Treibers finden Sie in den Installationsanweisungen in der Dokumentation, die mit dem ODBC-Treiber ausgeliefert wird.

    Auf DB2 für Windows NT-Servern:
    Konfigurieren Sie einen System-DSN mit dem ODBC-Einheitenmanager. Geben Sie im Fenster ODBC-Datenquellen-Administrator von Windows den Treiber SQL Server an, und fügen Sie in diesem Dialogfenster einen neuen System-DSN hinzuzufügen. Geben Sie SQL Server Authentication using Login ID and password provided by the user an.

    Auf DB2 für AIX-Servern:
    Installieren Sie die Thread-Version der Bibliotheken, die von MERANT angeboten werden, geben Sie das Bibliotheksverzeichnis von MERANT als ersten Eintrag in der Variable LIBPATH an, und definieren Sie die Datei .odbc.ini.
  2. Installieren Sie DB2 Relational Connect Version 7.2. Siehe 6.3.3, Installieren von DB2 Relational Connect.
  3. Fügen Sie Ihrem Server mit zusammengeschlossenen Datenbanken Microsoft SQL Server-Datenquellen hinzu.
  4. Geben Sie die Microsoft SQL Server-Codepages an (nur Windows NT).

Dieses Kapitel geht auf die Schritte 3 und 4 ein.

Die Anweisungen in diesem Kapitel gelten für Windows NT- und AIX-Plattformen. Die plattformspezifischen Unterschiede werden erwähnt, wo Sie zutreffen.

6.6.1 Hinzufügen von Microsoft SQL Server-Datenquellen zu einem Server mit zusammengeschlossenen Datenbanken

Nachdem Sie den ODBC-Treiber und DB2 Relational Connect installiert haben, fügen Sie Ihrem Server mit zusammengeschlossenen Datenbanken Microsoft SQL Server-Datenquellen hinzu, indem Sie die folgenden Schritte ausführen:

  1. Legen Sie die Umgebungsvariablen fest (nur AIX).
  2. Führen Sie das Shell-Script aus (nur AIX).
  3. Optional: Legen Sie die Umgebungsvariable DB2_DJ_COMM fest (nur AIX).
  4. Starten Sie das DB2-Exemplar erneut (nur AIX).
  5. Erstellen Sie die Oberfläche.
  6. Erstellen Sie den Server.
  7. Erstellen Sie eine Benutzerzuordnung.
  8. Erstellen Sie Kurznamen für die Tabellen und Sichten.
  9. Optional: Rufen Sie die ODBC-Traces ab.

Diese Schritte werden in den folgenden Abschnitten genau erklärt.

6.6.1.1 Schritt 1: Festlegen der Umgebungsvariablen (nur AIX)

Definieren Sie Umgebungsvariablen für Datenquellen durch eine Änderung der Datei db2dj.ini und durch Absetzen des Befehls db2set. Die Datei db2dj.ini enthält Konfigurationsdaten zur Herstellung einer Verbindung zu Microsoft SQL Server-Datenquellen. Der Befehl db2set aktualisiert die DB2-Profilregistrierdatenbank mit Ihren Einstellungen.

In einem partitionierten Datenbanksystem können Sie eine einzige Datei db2dj.ini für alle Knoten in einem bestimmten Exemplar verwenden, oder Sie können eine eindeutig Datei db2dj.ini für einen odere mehrere Knoten in einem bestimmten Exemplar verwenden. Ein nicht partitioniertes Datenbanksystem kann nur eine Datei db2dj.ini pro Exemplar haben.

Gehen Sie wie folgt vor, um die Umgebungsvariablen festzulegen:

  1. Editieren Sie die Datei db2dj.ini, die sich im Verzeichnis $HOME/sqllib/cfg befindet, und legen Sie die folgenden Umgebungsvariable fest:
    ODBCINI=$HOME/.odbc.ini
    DJX_ODBC_LIBRARY_PATH=<pfad-zum-merant-treiber>/lib
    DB2ENVLIST=LIBPATH
     
    

Setzen Sie den Befehl db2set ab, um die DB2-Profilregistrierdatenbank mit Ihren Änderungen zu aktualisieren. Die Syntax des Befehls db2set hängt von Ihrer Datenbanksystemstruktur ab.

Setzen Sie die folgenden Befehle ab, um den Pfad zur Clientbibliothek festzulegen:

db2set DB2LIBPATH=<Pfad zur Merant-Clientbibliothek>
db2set DB2ENVLIST=LIBPATH

6.6.1.2 Schritt 2: Ausführen des Shell-Scripts (nur AIX)

Das Shell-Script djxlink.sh verknüpft die Client-Bibliotheken mit den Oberflächenbibliotheken. Geben Sie Folgendes ein, um das Shell-Script auszuführen:

djxlink

6.6.1.3 Schritt 3: Optional: Festlegen der Umgebungsvariablen DB2_DJ_COMM (nur AIX)

Wenn Sie meinen, der Zugriff auf die Microsoft SQL Server-Datenquelle dauert ungewöhnlich lang, können Sie die Leistung verbessern, indem Sie die Umgebungsvariable DB2_DJ_COMM festlegen, damit die Oberfläche geladen wird, wenn der Server mit zusammengeschlossenen Datenbanken initialisiert wird und nicht dann, wenn Sie versuchen, auf die Datenquelle zuzugreifen. Legen Sie die Umgebungsvariable DB2_DJ_COMM fest, damit die Oberflächenbibliothek integriert wird, die zu der Oberfläche gehört, die Sie in Schritt 5 angegeben haben. Beispiel:

Auf DB2 für Windows NT-Servern:
db2set DB2_DJ_COMM=djxmssql3.dll

Auf DB2 für AIX-Servern:
db2set DB2_DJ_COMM=libmssql3.a

Stellen Sie sicher, dass sich auf keiner Seite des Gleichheitszeichens (=) Leerzeichen befinden.

Weitere Informationen zu den Oberflächenbibliotheksnamen finden Sie im Handbuch SQL Reference.

6.6.1.4 Schritt 4: DB2-Exemplar erneut starten (nur AIX)

Starten Sie das DB2-Exemplar erneut, um sicherzustellen, dass die Umgebungsvariablen in dem Programm festgelegt sind. Wenn Sie das Exemplar erneut starten, aktualisieren Sie das DB2-Exemplar so, dass es die vorgenommenen Änderungen übernimmt. Starten Sie das DB2-Exemplar mit den folgenden Befehlen erneut:

db2stop
db2start

6.6.1.5 Schritt 5: Erstellen der Oberfläche

DB2 Universal Database hat zwei verschiedene Protokolle, die sogenannten Oberflächen, die Sie verwenden können, um auf Microsoft SQL Server-Datenquellen zuzugreifen. Oberflächen sind die Mittel, mit denen Server mit zusammengeschlossenen Datenbanken mit Datenquellen kommunizieren und Daten von Datenquellen abrufen. Die Oberfläche, die Sie verwenden, hängt von der Plattform ab, auf der DB2 Universal Database ausgeführt wird. Verwenden Sie Tabelle 3 als Richtlinie zur Auswahl der passenden Oberfläche.

Tabelle 3. ODBC-Treiber

ODBC-Treiber Plattform Oberflächenname
ODBC 3.0-Treiber (oder höher) Windows NT DJXMSSQL3
MERANT DataDirect Connect ODBC 3.6-Treiber AIX MSSQLODBC3

Verwenden Sie die Anweisung CREATE WRAPPER, um die Oberfläche anzugeben, die verwendet werden soll, um auf Microsoft SQL Server-Datenquellen zuzugreifen. Das folgende Beispiel zeigt eine CREATE WRAPPER-Anweisung:

CREATE WRAPPER DJXMSSQL3 

Dabei ist DJXMSSQL3 der Standardoberflächenname, der auf einem DB2-Server für Windows NT (mit dem ODBC 3.0-Treiber) verwendet wird. Wenn Sie einen DB2-Server für AIX haben, würden Sie den Oberflächennamen MSSQLODBC3 angeben.

Sie können den Standardoberflächennamen mit einem Namen ihrer Wahl ersetzen. Wenn Sie dies machen, müssen Sie allerdings den Parameter LIBRARY und den Namen der Oberflächenbibliothek für Ihre Serverplattform mit zusammengeschlossenen Datenbanken in der Anweisung CREATE WRAPPER angeben. Beispiel:

Auf DB2 für Windows NT-Servern:
CREATE WRAPPER oberflächenname LIBRARY
'djxmssql3.dll'

Dabei ist oberflächenname der Name, den Sie der Oberfläche geben wollen, und 'djxmssql3.dll' ist der Bibliotheksname.

Auf DB2 für AIX-Servern:
CREATE WRAPPER oberflächenname
LIBRARY 'libmssql3.a'

Dabei ist oberflächenname der Name, den Sie der Oberfläche geben wollen, und 'libdjxmssql.a' ist der Bibliotheksname.

Weitere Informationen zu Oberflächenbibliotheksnamen finden Sie bei der Anweisung CREATE WRAPPER im Handbuch SQL Reference.

6.6.1.6 Schritt 6: Erstellen des Servers

Verwenden Sie die Anweisung CREATE SERVER, um alle Microsoft SQL Server-Server zu definieren, zu denen Sie eine Verbindung herstellen wollen. Beispiel:

CREATE SERVER sqlserver TYPE MSSQLSERVER VERSION 7.0 WRAPPER djxmssql3
OPTIONS (NODE 'sql-knoten', DBNAME 'datenbankname')

Dabei gilt Folgendes:

sqlserver
Der Name, den Sie dem Microsoft SQL Server-Server zuordnen. Dieser Name muss eindeutig sein.

MSSQLSERVER
Der Datenquellentyp, für den Sie den Zugriff konfigurieren.

7.0
Die Microsoft SQL Server-Version, auf die Sie zugreifen. DB2 Universal Database unterstützt die Versionen 6.5 und 7.0 von Microsoft SQL Server.

DJXMSSQL3
Der Oberflächenname, den Sie in der Anweisung CREATE WRAPPER definiert haben.

'sql-knoten'
Der Systemdatenquellenname, der auf die Version von Microsoft SQL Server verweist, auf die Sie zugreifen. Beachten Sie bei diesem Wert die Groß-/Kleinschreibung. DB2 Universal Database unterstützt die Versionen 6.5 und 7.0 von Microsoft SQL Server.

Obwohl der Name des Knotens (Systemdatenquellenname) als Option in der Anweisung CREATE SERVER angegeben wird, ist er für Microsoft SQL Server-Datenquellen erforderlich. Unter Windows finden Sie den DSN auf der Indexzunge System-DSN im Tool ODBC-Datenquellen-Administrator. Unter AIX finden Sie den DSN in der Datei .odbc.ini im Ausgangsverzeichnis des DB2-Exemplareigners.

Zusätzliche Optionen, die Sie mit der Anweisung CREATE WRAPPER verwenden können, finden Sie im Handbuch SQL Reference.

'datenbankname'
Der Name der Datenbank, zu der Sie eine Verbindung herstellen.

Obwohl der Name der Datenbank als Option in der Anweisung CREATE SERVER angegeben wird, ist er für Microsoft SQL Server-Datenquellen erforderlich.

6.6.1.7 Schritt 7: Erstellen einer Benutzerzuordnung

Wenn sich die Benutzer-ID oder das Kennwort auf dem Server mit zusammengeschlossenen Datenbanken von einer Benutzer-ID oder einem Kennwort in einer Microsoft SQL Server-Datenquelle unterscheiden, verwenden Sie die Anweisung CREATE USER MAPPING, um die lokale Benutzer-ID der Benutzer-ID und dem Kennwort zuzuordnen, die/das in der Microsoft SQL Server-Datenquelle definiert ist. Beispiel:

CREATE USER MAPPING FOR db2-benutzer SERVER servername
OPTIONS (REMOTE_AUTHID 'ms-sql-benutzer', REMOTE_PASSWORD '1und2')

Dabei gilt Folgendes:

db2-benutzer
Die lokale Benutzer-ID, die Sie einer Benutzer-ID zuordnen, die in einer Microsoft SQL Server-Datenquelle definiert ist.

servername
Der Name des Servers, den Sie in der Anweisung CREATE SERVER definiert haben.

'ms-sql-benutzer'
Die Anmelde-ID der Microsoft SQL Server-Datenquelle, der Sie db2-benutzer zuordnen. Beachten Sie bei diesem Wert die Groß-/Kleinschreibung.

'1und2'
Das Kennwort, das 'ms-sql-benutzer' zugeordnet ist. Beachten Sie bei diesem Wert die Groß-/Kleinschreibung.

Zusätzliche Optionen, die Sie mit der Anweisung CREATE USER MAPPING verwenden können, finden Sie im Handbuch SQL Reference.

6.6.1.8 Schritt 8: Erstellen von Kurznamen für Tabellen und Sichten

Ordnen Sie jeder Sicht oder Tabelle, die sich in Ihrer Microsoft SQL Server-Datenquelle befindet und auf die Sie zugreifen wollen, einen Kurznamen zu. Sie verwenden diese Kurznamen, wenn Sie die Microsoft SQL Server-Datenquelle abfragen. Verwenden Sie die Anweisung CREATE NICKNAME, um einen Kurznamen zuzuweisen. Beachten Sie bei Kurznamen die Groß-/Kleinschreibung. Das folgende Beispiel zeigt eine CREATE NICKNAME-Anweisung:

CREATE NICKNAME ms-sql-verkäufe FOR servername.verkaufsdaten.europa

Dabei gilt Folgendes:

ms-sql-verkäufe
Ein eindeutiger Kurzname für die Microsoft SQL Server-Tabelle oder -Sicht.

servername.verkaufsdaten.europa
Ein dreiteiliger Bezeichner, der das folgende Format hat:

datenquellenservername.ferner-schemaname.ferner-tabellenname

Für die Teile ferner-schemanname und ferner-tabellenname des Kurznamens werden doppelte Anführungszeichen empfohlen.

Wenn Sie einen Kurznamen erstellen, versucht DB2 auf die Datenquellenkatalogtabellen zuzugreifen (Microsoft SQL Server bezeichnet diese als Systemtabellen). Diese Abfrage testet die Verbindung zu der Datenquelle. Wenn die Verbindung fehlschlägt, empfangen Sie eine Fehlernachricht.

Wiederholen Sie diesen Schritt für alle Datenbanktabellen und -sichten, für die Sie Kurznamen erstellen wollen.

Weitere Informationen zu der Anweisung CREATE NICKNAME finden Sie im Handbuch SQL Reference. Weitere Informationen zu Kurznamen im Allgemeinen und zum Prüfen von Datentypzuordnungen finden Sie im Handbuch DB2 Systemverwaltung.

6.6.1.9 Schritt 9: Optional: Abrufen von ODBC-Traces

Wenn beim Zugriff auf die Datenquelle Probleme auftreten, können Sie ODBC-Trace-Informationen abrufen, um diese Probleme zu analysieren und zu lösen. Verwenden Sie das Trace-Tool, das von ODBC Data Source Administrator angeboten wird, um sicherzustellen, dass der ODBC-Trace richtig funktioniert. Das Aktivieren des Trace beeinträchtigt Ihre Systemleistung, deshalb sollten Sie den Trace ausschalten, wenn Sie die Probleme gelöst haben.

6.6.2 Übersicht über Microsoft SQL Server-Codepages (nur Windows NT)

Microsoft SQL Server unterstützt viele gemeinsame Codepageoptionen für Unterstützung der Landessprache, die DB2 UDB unterstützt. Datenquellen, die denselben codierten Zeichensatz wie DB2 verwenden, erfordern keine Übersetzung. In Tabelle 3 finden Sie eine Liste der Codepages, die sowohl von DB2 Universal Database als auch Microsoft SQL Server unterstützt werden.

Tabelle 4. DB2 UDB- und Microsoft SQL Server-Codepageoptionen

Codepage Unterstützte Sprache
1252 ISO-Zeichensatz
850 Mehrsprachig
437 Amerikanisches Englisch
874 Thailändisch
932 Japanisch
936 Vereinfachtes Chinesisch
949 Koreanisch
950 Traditionelles Chinesisch
1250 Mitteleuropäisch
1251 Kyrillisch
1253 Griechisch
1254 Türkisch
1255 Hebräisch
1256 Arabisch

Wenn der DB2Server mit zusammengeschlossenen Datenbanken und der Microsoft SQL Server-Server mit zusammengeschlossenen Datenbanken unterschiedliche Codepages zur Unterstützung der Landessprache ausführen, müssen Sie entweder Ihre Microsoft SQL Server-Datenquellen so konfigurieren, dass sie mit diesen Werten übereinstimmen, oder der Client-Code muss in der Lage sein, die Abweichung zu entdecken und sie als Fehler zu markieren oder die Daten mit seiner eigenen Semantik zuzuordnen. Wenn keine Konvertierungstabelle von der Quellen-Codepage zu der Ziel-Codepage gefunden werden kann, setzt DB2 eine Fehlernachricht ab. Weitere Informationen finden Sie in Ihrer Microsoft SQL Server-Dokumentation.


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]