Release-Informationen


|6.7 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 |hinzu. 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.7.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.7.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 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: |

  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.7.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.7.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.7.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.7.1.5 Schritt 5: Erstellen der Oberfläche

|

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

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


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