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 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 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.