|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: |
|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.
|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: |
|Diese Schritte werden in den folgenden Abschnitten genau erklärt.
|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 eindeutige Datei db2dj.ini |für einen oder 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: |
|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. |
|db2set DB2_DJ_INI=<pfad-zur-ini-datei>/db2dj.ini
||db2set -g |DB2_DJ_INI=<pfad-zur-ini-datei>/db2dj.ini|
|db2set -i EXEMPX 3 DB2_DJ_INI=$HOME/sqllib/cfg/knoten3.ini
|Dabei gilt Folgendes: |
|Setzen Sie die folgenden Befehle ab, um den Pfad zur Clientbibliothek |festzulegen:
|db2set DB2LIBPATH=<Pfad zur Merant-Clientbibliothek> |db2set DB2ENVLIST=LIBPATH
|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
|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: |
|db2set DB2_DJ_COMM=djxmssql3.dll
|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.
|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
|DB2 Universal Database hat zwei verschiedene Protokolle, die so genannten
|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.
|
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: |
|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.
|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.
|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: |
|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 DB2 SQL Reference.
|Obwohl der Name der Datenbank als Option in der Anweisung CREATE SERVER |angegeben wird, ist er für Microsoft SQL Server-Datenquellen |erforderlich. |
|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: |
|Zusätzliche Optionen, die Sie mit der Anweisung CREATE USER MAPPING |verwenden können, finden Sie im Handbuch SQL Reference.
|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: |
|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.
|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.
|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 DB2-Server mit zusammengeschlossenen Datenbanken und der Microsoft |SQL Server-Server 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.