Bevor Sie einem Server mit zusammengeschlossenen Datenbanken Sybase-Datenquellen hinzufügen, müssen Sie die Sybase Open Client-Software auf dem DB2-Server mit zusammengeschlossenen Datenbanken installieren und konfigurieren. In der Installationsbeschreibung in der Dokumentation, die mit der Sybase-Datenbanksoftware geliefert wird, finden Sie genaue Einzelangaben zur Installation der Open Client-Software. Stellen Sie sicher, dass die im Katalog gespeicherten Prozeduren und die Bibliotheken von Sybase Open Client installiert werden. Nach der Konfiguration der Verbindung von der Clientsoftware zum Sybase-Server testen Sie die Verbindung mit einem der Sybase-Tools. Verwenden Sie das Tool isql für UNIX und das Tool SQL Advantage für Windows.
Sie müssen die folgenden Operationen ausführen, um Ihren Server mit zusammengeschlossenen Datenbanken zu definieren, damit er auf Daten zugreifen kann, die in Sybase-Datenquellen gespeichert sind:
Dieses Kapitel geht auf die Schritte 2 und 3 ein.
Die Anweisungen in diesem Kapitel gelten für Windows NT, AIX und die Solaris-Betriebsumgebung. Die plattformspezifischen Unterschiede werden erwähnt, wo Sie zutreffen.
Sie müssen die folgenden Operationen ausführen, um einem Server mit zusammengeschlossenen Datenbanken eine Sybase-Datenquelle hinzuzufügen:
Diese Schritte werden in diesem Abschnitt 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 zu der Sybase-Client-Software, die auf Ihrem Server mit zusammengeschlossenen Datenbanken installiert ist. 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 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:
SYBASE= "<sybase-ausgangsverzeichnis>"
Dabei ist <sybase-ausgangsverzeichnis> das Verzeichnis, in dem der Sybase-Client installiert ist.
Wenn Sie die Datei db2dj.ini in einem nicht partitionierten Datenbanksystem verwenden oder wenn Sie wollen, dass die Datei db2dj.ini nur auf den aktuellen Knoten angewendet wird, setzen Sie den folgenden Befehl ab:
db2set DB2_DJ_INI=$HOME/sqllib/cfg/db2dj.ini
Wenn Sie die Datei db2dj.ini in einem partitionierten Datenbanksystem verwenden und Sie wollen, dass die Werte in der Datei db2dj.ini für alle Knoten innerhalb dieses Exemplars gelten sollen, setzen Sie den folgenden Befehl ab:
db2set -g DB2_DJ_INI=$HOME/sqllib/cfg/db2dj.ini
Wenn Sie die Datei db2dj.ini in einem partitionierten Datenbanksystem verwenden und Sie wollen, dass die Werte in der Datei db2dj.ini für einen bestimmten Knoten gelten sollen, setzen Sie den folgenden Befehl ab:
db2set -i EXEMPX 3 DB2_DJ_INI=$HOME/sqllib/cfg/node3.ini
Dabei gilt Folgendes:
Es muss eine Programmverbindung zwischen dem DB2-Server mit zusammengeschlossenen Datenbanken und den Client-Bibliotheken hergestellt werden, um den Zugriff auf Sybase-Datenquellen zu aktivieren. Durch das Herstellen einer Programmverbindung wird eine Oberfläche für alle Datenquellen erstellt, über die der Server mit zusammengeschlossenen Datenbanken kommunizieren wird. Wenn Sie das Script djxlink ausführen, erstellen Sie die Oberflächenbibliothek. Geben Sie Folgendes ein, um das Script djxlink abzusetzen:
djxlink
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.
Setzen Sie die folgenden Befehle ab, um das DB2-Exemplar erneut zu starten:
NET STOP exemplarname NET START exemplarname
db2stop db2start
Sie müssen die Datei erstellen und den Zugriff auf sie erlauben, um eine Schnittstellendatei zu definieren.
Windows NT nennt diese Datei normalerweise sql.ini. Bennen Sie die Datei, die gerade erstellt haben, von sql.ini in interfaces um, um die Datei auf allen Plattformen gleich zu nennen. Wenn Sie die Datei sql.ini nicht in interfaces umbenennen wollen, müssen Sie den Parameter IFILE oder die Option CONNECTSTRING verwenden, der/die in Schritt 8 erklärt wird.
Auf AIX- und Solaris-Systemen heißt diese Datei <exemplarausgangsverzeichnis>/sqllib/interfaces.
ln -s -f /home/sybase/interfaces /home/db2djinst1/sqllib
Verwenden Sie die Anweisung CREATE WRAPPER, um die Oberfläche anzugeben, die verwendet werden soll, um auf Sybase-Datenquellen zuzugreifen. Oberflächen sind die Mittel, mit denen Server mit zusammengeschlossenen Datenbanken mit Datenquellen kommunizieren und Daten von Datenquellen abrufen. DB2 enthält zwei Oberflächen für Sybase: CTLIB und DBLIB. Das folgende Beispiel zeigt eine CREATE WRAPPER-Anweisung:
CREATE WRAPPER CTLIB
Dabei gilt Folgendes: CTLIB ist der Standardoberflächenname, der mit der Sybase Open Client-Software verwendet wird. Die Oberfläche CTLIB kann auf Windows NT-, AIX- und Solaris-Servern verwendet werden.
Sie können den Standardoberflächennamen mit einem Namen ihrer Wahl ersetzen. Wenn Sie dies machen, müssen Sie allerdings auch den Parameter LIBRARY und den Namen der Oberflächenbibliothek für Ihren Server mit zusammengeschlossenen Datenbanken in der Anweisung CREATE WRAPPER angeben. Weitere Informationen zu Oberflächenbibliotheksnamen finden Sie bei der Anweisung CREATE WRAPPER im Handbuch SQL Reference.
Setzen Sie die Umgebungsvariable DB2_DJ_COMM, um die Leistung für den Zugriff auf die Sybase-Datenquelle zu erhöhen. Diese Variable stellt fest, ob eine Oberfläche geladen ist, wenn der Server mit zusammengeschlossenen Datenbanken initialisiert wird. Legen Sie die Umgebungsvariable DB2_DJ_COMM fest, damit die Oberflächenbibliothek integriert wird, die zu der Oberfläche gehört, die Sie in dem vorherigen Schritt angegeben haben. Beispiel:
db2set DB2_DJ_COMM='libctlib.a'
db2set DB2_DJ_COMM='libctlib.so'
Stellen Sie sicher, dass sich auf keiner Seite des Gleichheitszeichens (=) Leerzeichen befinden.
Weitere Informationen zu den Oberflächenbibliotheksnamen finden Sie im Handbuch SQL Reference. Weitere Informationen zu der Umgebungsvariable DB2_DJ_COMM finden Sie im Handbuch Systemverwaltung.
Verwenden Sie die Anweisung CREATE SERVER, um alle Sybase-Server zu definieren, auf die Sie zugreifen wollen. Beispiel:
CREATE SERVER SYBSERVER TYPE SYBASE VERSION 12.0 WRAPPER CTLIB OPTIONS (NODE 'syb-knoten', DBNAME'syb-db')
Dabei gilt Folgendes:
Obwohl der Name des Knotens als Option angegeben wird, ist er für Sybase-Datenquellen erforderlich. Informationen zu zusätzlichen Optionen finden Sie im Handbuch SQL Reference.
Geben Sie die Zeitlimitschwelle, den Pfad und den Namen der Schnittstellendatei sowie die Paketgröße der Schnittstellendatei an. Sybase Open Client verwendet Zeitlimitschwellen, um Abfragen und Antworten zu unterbrechen, die zu lange ausgeführt werden. Sie können diese Schwellen in DB2 mit der Option CONNECTSTRING in der Anweisung CREATE SERVER OPTION DDL festlegen. Verwenden Sie die Option CONNECTSTRING, um Folgendes anzugeben:
.-;--------------------------------. V | >>---+------------------------------+-+------------------------>< +-TIMEOUT-- = --sekunden-------+ +-LOGIN_TIMEOUT-- = --sekunden-+ +-IFILE-- = --"zeichenfolge"---+ +-PACKET_SIZE-- = --byte-------+ '-;----------------------------'
Beispiele:
Verwenden Sie den folgenden Befehl auf Windows NT-Servern, um den Zeitlimitwert auf 60 Sekunden und die Schnittstellendatei auf C:\etc\interfaces zu setzen:
CREATE SERVER OPTION connectstring FOR SERVER sybase1 SETTING 'TIMEOUT=60;LOGIN_TIMEOUT=5;IFILE="C:\etc\interfaces"'
Verwenden Sie den folgenden Befehl auf AIX- und Solaris-Servern, um den Zeitlimitwert auf 60 Sekunden und die Schnittstellendatei auf /etc/interfaces zu setzen:
CREATE SERVER OPTION connectstring FOR SERVER sybase1 SETTING 'TIMEOUT=60;PACKET_SIZE=4096;IFILE="/etc/interfaces"'
Wenn sich die Benutzer-ID oder das Kennwort auf dem Server mit zusammengeschlossenen Datenbanken von einer Benutzer-ID oder einem Kennwort in einer Sybase-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 Sybase-Datenquelle definiert ist. Beispiel:
CREATE USER MAPPING FOR DB2USER SERVER SYBSERVER OPTIONS ( REMOTE_AUTHID 'syb-benutzer', REMOTE_PASSWORD 1und2')
Dabei gilt Folgendes:
Weitere Informationen zu zusätzlichen Optionen finden Sie im Handbuch SQL Reference.
Ordnen Sie jeder Sicht oder Tabelle, die sich in Ihrer Sybase-Datenquelle befindet, einen Kurznamen zu. Sie verwenden diese Kurznamen, wenn Sie die Sybase-Datenquelle abfragen. Beachten Sie bei Sybase-Kurznamen die Groß-/Kleinschreibung. Schließen Sie sowohl die Schema- als auch die Tabellennamen in doppelte Anführungszeichen (") ein. Das folgende Beispiel zeigt eine CREATE NICKNAME-Anweisung:
CREATE NICKNAME SYBSALES FOR SYBSERVER."verkaufsdaten"."europa"
Dabei gilt Folgendes:
datenquellenname."ferner-schemaname"."ferner-tabellenname"
Wiederholen Sie diesen Schritt für alle Tabellen oder Sichten, für die Sie Kurznamen erstellen wollen. Wenn Sie den Kurznamen erstellen, verwendet DB2 die Verbindung, um den Datenquellenkatalog abzufragen. Diese Abfrage testet Ihre Verbindung zu der Datenquelle. Wenn die Verbindung nicht zustande kommt, empfangen Sie eine Fehlernachricht.
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.
Dieser Schritt ist nur notwendig, wenn der DB2-Server mit
zusammengeschlossenen Datenbanken und der Sybase-Server unterschiedliche
Codepages ausführen. Datenquellen, die denselben codierten Zeichensatz
wie DB2 verwenden, erfordern keine Übersetzung. In der folgenden
Tabelle finden Sie gleichbedeutende Sybase-Optionen für gemeinsame Codepages
mit Unterstützung der Landessprache (National Language Support, NLS).
Entweder müssen Sie Ihre Sybase-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
Sybase-Dokumentation.
Tabelle 2. Sybase-Codepageoptionen
Codepage | Gleichbedeutende Sybase-Option |
---|---|
850 | cp850 |
897 | sjis |
819 | iso_1 |
912 | iso_2 |
1089 | iso_6 |
813 | iso_7 |
916 | iso_8 |
920 | iso_9 |