Release-Informationen


6.5 Zugriff auf Sybase-Datenquellen

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:

  1. Installieren Sie DB2 Relational Connect Version 7.2. Siehe 6.3.3, Installieren von DB2 Relational Connect.
  2. Fügen Sie Ihrem Server mit zusammengeschlossenen Datenbanken Sybase-Datenquellen hinzu.
  3. Geben Sie die Sybase-Codepages an.

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.

6.5.1 Hinzufügen von Sybase-Datenquellen zu einem Server mit zusammengeschlossenen Datenbanken

Sie müssen die folgenden Operationen ausführen, um einem Server mit zusammengeschlossenen Datenbanken eine Sybase-Datenquelle hinzuzufügen:

  1. Legen Sie die Umgebungsvariablen fest, und aktualisieren Sie die Profilregistrierdatenbank (nur AIX und Solaris).
  2. Verknüpfen Sie DB2 mit der Sybase-Client-Software (nur AIX und Solaris).
  3. Starten Sie das DB2-Exemplar erneut (nur AIX und Solaris).
  4. Erstellen und definieren Sie eine Schnittstellendatei.
  5. Erstellen Sie die Oberfläche.
  6. Optional: Legen Sie die Umgebungsvariable DB2_DJ_COMM fest.
  7. Erstellen Sie den Server.
  8. Optional: Legen Sie die Serveroption CONNECTSTRING fest.
  9. Erstellen Sie eine Benutzerzuordnung.
  10. Erstellen Sie Kurznamen für Tabellen und Sichten.

Diese Schritte werden in diesem Abschnitt genau erklärt.

6.5.1.1 Schritt 1: Festlegen der Umgebungsvariablen und Aktualisieren der Profilregistrierdatenbank (nur AIX und Solaris)

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:

  1. Editieren Sie die Datei db2dj.ini, die sich im Verzeichnis sqllib/cfg befindet, und legen Sie die folgende Umgebungsvariable fest:
     SYBASE= "<sybase-ausgangsverzeichnis>"
     
    

    Dabei ist <sybase-ausgangsverzeichnis> das Verzeichnis, in dem der Sybase-Client installiert ist.

  2. 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. Dieser Schritt ist nur erforderlich, wenn Sie die Datei db2dj.ini in einer der folgenden Datenbanksystemstrukturen verwenden:

    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:

    EXEMPX
    Der Name des Exemplars.

    3
    Die Knotennummer, die in der Datei db2nodes.cfg aufgelistet wird.

    knoten3.ini
    Die geänderte und umbenannte Version der Datei db2dj.ini.

6.5.1.2 Schritt 2: Verbinden von DB2 mit der Sybase-Client-Software (nur AIX und Solaris)

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

6.5.1.3 Schritt 3: Erneutes Starten des DB2-Exemplars (nur AIX und Solaris)

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:

Auf DB2 für Windows NT-Servern:
NET STOP exemplarname
NET START exemplarname

Auf DB2 für AIX- und Solaris-Servern:
db2stop
db2start

6.5.1.4 Schritt 4: Erstellen und Definieren einer Schnittstellendatei

Sie müssen die Datei erstellen und den Zugriff auf sie erlauben, um eine Schnittstellendatei zu definieren.

  1. Verwenden Sie das Sybase-Dienstprogramm, um eine Schnittstellendatei zu erstellen, die die Daten für alle Sybase Open Server enthält, auf die Sie zugreifen wollen. Weitere Informationen zur Verwendung dieses Dienstprogramms finden Sie in der Sybase-Installationsdokumentation.

    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.

  2. Erlauben Sie DB2 den Zugriff auf die Schnittstellendatei.

    Auf DB2 für Windows NT-Servern:
    Stellen Sie die Datei in das Verzeichnis %DB2PATH% des DB2-Exemplars.

    Auf DB2 für AIX- und Solaris-Servern:
    Stellen Sie die Datei in das Verzeichnis $HOME/sqllib des DB2-Exemplars. Verwenden Sie den Befehl ln, um eine Verknüpfung zu der Datei in dem Verzeichnis $HOME/sqllib des DB2-Exemplars herzustellen. Beispiel:
    ln -s -f /home/sybase/interfaces  /home/db2djinst1/sqllib
    

6.5.1.5 Schritt 5: Erstellen der Oberfläche

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.

6.5.1.6 Schritt 6: Optional: Festlegen der Umgebungsvariablen DB2_DJ_COMM

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:

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

Auf DB2 für Solaris-Servern:
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.

6.5.1.7 Schritt 7: Erstellen des Servers

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:

SYBSERVER
Der Name, den Sie einem Sybase-Server zuordnen. Dieser Name muss eindeutig sein.

SYBASE
Der Datenquellentyp, für den Sie den Zugriff konfigurieren. Sybase ist die einzige Datenquelle, die unterstützt wird.

12.0
Die Sybase-Version, auf die Sie zugreifen. Die unterstützten Versionen sind 10.0, 11.0, 11.1, 11.5, 11.9 und 12.0.

CTLIB
Der Oberflächenname, den Sie in der Anweisung CREATE WRAPPER angegeben haben.

'syb-knoten'
Der Name des Knotens, auf dem sich SYBSERVER befindet. Entnehmen Sie den Knotenwert der Schnittstellendatei. Beachten Sie bei diesem Wert die Groß-/Kleinschreibung.

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.

'syb-db'
Der Name der Sybase-Datenbank, auf die Sie zugreifen wollen. Rufen Sie diesen Namen vom Sybase-Server ab.

6.5.1.8 Schritt 8: Festlegen der Serveroption CONNECTSTRING

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-------+
     '-;----------------------------'
 
 

TIMEOUT
Gibt die Anzahl an Sekunden an, die DB2 Universal Database auf eine Antwort von Sybase Open Client für eine beliebige SQL-Anweisung wartet. Der Wert von sekunden ist eine positive ganze Zahl aus dem Integerbereich von DB2 Universal Database. Der Zeitlimitwert, den Sie angeben, hängt von der Oberfläche ab, die Sie verwenden. Windows NT-, AIX- und Solaris-Server können die Oberfläche DBLIB verwenden. Der Standardwert für die Oberfläche DBLIB ist 0. Auf Windows NT-, AIX- und Solaris-Servern veranlasst der Standardwert, dass DB2 Universal Database unendlich lang auf eine Antwort wartet.

LOGIN_TIMEOUT
Gibt die Anzahl an Sekunden an, die DB2 Universal Database auf eine Antwort von Sybase Open Client für eine Anmeldeanfrage wartet. Die Standardwerte sind dieselben wie für TIMEOUT.

IFILE
Gibt den Pfad und Namen der Schnittstellendatei von Sybase Open Client an. Der in zeichenfolge angegebene Pfad muss in doppelte Anführungszeichen (") eingeschlossen sein. Auf Windows NT-Servern ist der Standardpfad %DB2PATH%. Auf AIX- und Solaris-Servern ist der Standardwert sqllib/interfaces im Ausgangsverzeichnis Ihres DB2 Universal Database-Exemplars.

PACKET_SIZE
Gibt die Paketgröße der Schnittstellendatei in Byte an. Wenn die Datenquelle die angegebene Paketgröße nicht unterstützt, schlägt die Verbindung fehl. Das Erhöhen der Paketgröße für sehr große Datensätze (z. B. beim Einfügen von Zeilen in große Tabellen) verbessert die Leistung deutlich. Die Bytegröße ist ein numerischer Wert. Weitere Informationen finden Sie in den Sybase-Referenzhandbüchern.

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"'
 

6.5.1.9 Schritt 9: 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 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:

DB2USER
Die lokale Benutzer-ID, die Sie einer Benutzer-ID zuordnen, die in einer Sybase-Datenquelle definiert ist.

SYBSERVER
Der Name der Sybase-Datenquelle, die Sie in der Anweisung CREATE SERVER definiert haben.

'syb-benutzer'
Die Benutzer-ID in der Sybase-Datenquelle, der Sie DB2USER zuordnen. Beachten Sie bei diesem Wert die Groß-/Kleinschreibung.

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

Weitere Informationen zu zusätzlichen Optionen finden Sie im Handbuch SQL Reference.

6.5.1.10 Schritt 10: Erstellen von Kurznamen für Tabellen und Sichten

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:

SYBSALES
Ein eindeutiger Kurzname für die Sybase-Tabelle oder -Sicht.

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

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.

6.5.2 Angeben von Sybase-Codepages

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


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