Bei der Verwendung mehrerer DB2-Kopien von DB2-Datenbankprodukten oder mehrerer Kopien von Datenservertreibern stehen verschiedene Optionen für den Zugriff auf die DB2-Datenbanken zur Verfügung. Vorhandene Anwendungen werden weiterhin ordnungsgemäß ausgeführt.
Einschränkungen
Für jeden der folgenden Modi für Datenbankverbindungen kann innerhalb eines Prozesses nur eine Kopie verwendet werden.
Obwohl es in diesem Abschnitt im Wesentlichen um Aspekte für Windows-Betriebssysteme geht, kann auch unter Linux- und UNIX-Betriebssystemen nicht auf Instanzen zugegriffen werden, denen innerhalb desselben Prozesses mehrere DB2-Kopien zugeordnet sind.
Vorgehensweise
Lesen Sie die Informationen, die den einzelnen folgenden Methoden zugeordnet sind, um eine Verbindung zu DB2-Datenbanken herzustellen:
Um eine andere als die Standard-DB2-Kopie zu verwenden, geben Sie in der Verbindungszeichenfolge den Namen des IBMDADB-Treibers für diese DB2-Kopie im folgenden Format an: IBMDADB2.$DB2_COPY_NAME. Manche Anwendungen bieten nicht die Möglichkeit zum Ändern der Verbindungszeichenfolgen ohne erneute Kompilierung, d. h. sie können nur mit der Standard-DB2-Kopie ausgeführt werden. Wenn eine Anwendung die Standardprogramm-ID (ibmdadb2) oder den Standardwert (clsid) verwendet, kann sie nur mit der Standard-DB2-Kopie ausgeführt werden.
Sie müssen den Wert für "provider=IBMDADB2" in der Verbindungszeichenfolge ändern. Wenn Sie beispielsweise die DB2-Kopie mit dem Namen MY_COPY verwenden möchten, geben Sie "provider=IBMDADB2.MY_COPY" in der Verbindungszeichenfolge an. Wenn Sie während der Installation eine GUID explizit angeben müssen, wird das Antwortdateischlüsselwort OLEDB_GUID verwendet, das Ihnen erlaubt, eine eigene GUID einzugeben. Andernfalls wird die generierte Kennung verwendet, die im DB2-Installationsprotokoll aufgelistet ist.
IBM Data Server Driver for ODBC and CLI enthält den Kopienamen als Bestandteil des Treibernamens. Als Standardtreiber (IBM DB2 ODBC DRIVER) wird die Standardkopie der IBM Datenbankclientschnittstelle festgelegt. Der Name des Treibers für jede Installation ist "IBM DB2 ODBC DRIVER - Name der Kopie".
Der Zugriff auf IBM Data Server Provider for .NET erfolgt nicht über das DB2-Datenbankprodukt, das durch den Namen der Kopie angegeben wird. Stattdessen wird die von der Anwendung benötigte Anbieterversion lokalisiert und mithilfe der Standardmethoden verwendet.
JDBC verwendet die aktuelle Version des Treibers im Klassenpfad. Der JDBC-Type 2-Treiber verwendet die native DLL. Der Klassenpfad verweist standardmäßig auf die Standard-DB2-Kopie. Durch Ausführen der Stapeldatei db2envar.bat über die DB2-Kopie, die Sie verwenden möchten, werden die Einstellungen für PATH und CLASSPATH in dieser Kopie aktualisiert.
Das MMC-Snap-in startet die DB2-Steuerzentrale für die Standard-DB2-Kopie.
WMI bietet keine Unterstützung für mehrere DB2-Kopien. Sie können jeweils nur eine Kopie von WMI registrieren. Gehen Sie wie folgt vor, um WMI zu registrieren:
WMI wird während der DB2-Installation nicht registriert. Sie müssen die beiden Registrierungsschritte anschließend ausführen. WMI ist ein auswählbares Feature in DB2-Datenbankprodukten ab DB2 Personal Edition. Sie müssen diese Funktion in einer angepassten Installation auswählen. Sie ist in einer Standardinstallation nicht enthalten.
Für CLI-Anwendungen, von denen die IBM Data Server-Client-Bibliotheken dynamisch geladen werden, muss die API LoadLibraryEx mit der Option LOAD_WITH_ALTERED_SEARCH_PATH und nicht die Option LoadLibrary verwendet werden. Wenn Sie nicht die API LoadLibraryEx mit der Option LOAD_WITH_ALTERED_SEARCH_PATH verwenden, müssen Sie db2app.dll im Pfad (Path) angeben, indem Sie db2envar.bat im Verzeichnis bin der DB2-Kopie ausführen, die Sie verwenden möchten. Damit Anwendungen, die mit db2apie.lib verbunden werden, eine andere DB2-Kopie verwenden, können Sie die Option /delayload in Ihrem Befehl link verwenden, um das Laden von db2app.dll zu verzögern und die API db2SelectDB2Copy aufzurufen, bevor DB2-Aufrufe ausgeführt werden.
Um die Anzahl der im System aktiven Taskleistenprogramme zu reduzieren, werden standardmäßig alle aktiven Einträge der Taskleiste inaktiviert, die in der bisherigen Standard-DB2-Kopie aktiv sind, wenn die Standardkopie geändert wird.