DB2® データベース製品の複数の DB2 コピー、または複数のデータ・サーバー・ドライバーのコピーを使用する場合、いくつかのオプションが DB2 データベースにアクセスするアプリケーションで選択可能です。既存のアプリケーションは引き続き正しく機能します。
制約事項
以下のデータベースへの接続モードのそれぞれについて、同一のプロセス内では 1 つのコピーのみ使用できます。
このトピックでは主に、Windows® オペレーティング・システム上と、 Linux® および UNIX® オペレーティング・システム上の問題を扱いますが、同一のプロセス内では複数の DB2 コピーに関連付けられたインスタンスにアクセスすることはやはりできません。
手順
以下の各 DB2 データベースへの接続方法に関連した考慮事項を検討します。
デフォルト以外の DB2 コピーを使用するには、接続ストリングで、この DB2 コピー用の IBMDADB ドライバー名を指定します。その形式は IBMDADB2.$DB2_COPY_NAME です。アプリケーションによっては、再コンパイルしないと接続ストリングを変更できないものもあるので、 それらのアプリケーションはデフォルト DB2 コピーのみで作動することになります。アプリケーションがデフォルトのプログラム ID である ibmdadb2、またはデフォルトの clsid を使用する場合、それは常にデフォルト DB2 コピーを使用することになります。
特に、接続ストリングで "provider=IBMDADB2" の値を変更する必要があります。例えば、使用する予定の DB2 コピーが MY_COPY というものである場合、接続ストリングに "provider=IBMDADB2.MY_COPY" と指定できます。インストール中に明示的に GUID を指定することが必要な場合は、応答ファイル・キーワード OLEDB_GUID を使用してこれを行うと、独自の GUID を入力できるようになります。そうしない場合には、DB2 インストール・ログにリストされる、生成された ID が使用されます。
IBM Data Server Driver for ODBC and CLI では、ドライバー名の一部としてコピー名が含まれています。デフォルト・ドライバーである IBM DB2 ODBC DRIVER が、デフォルトの IBM データベース・クライアント・インターフェース・コピーに設定されています。各インストールのドライバーの名前は、「IBM DB2 ODBC DRIVER - Copy Name」です。
IBM Data Server Provider for .NET は、コピー名によって識別される DB2 データベース製品からはアクセスされません。代わりに、アプリケーションが必要とするプロバイダーのバージョンに応じてそのバージョンを検出し、標準的な方法を使ってそれを使用します。
JDBC は、クラスパスにある現行バージョンのドライバーを使用します。タイプ 2 JDBC ドライバーはネイティブ DLL を使用します。デフォルトでは、クラスパスはデフォルト DB2 コピーを指し示すように構成されます。使用する予定の DB2 コピーから db2envar.bat を実行すると、このコピー用に PATH および CLASSPATH の設定が更新されます。
MMC Snap-in は、デフォルト DB2 コピー用に DB2 コントロール・センターを立ち上げます。
WMI は複数の DB2 コピーをサポートしません。 同時に登録できる WMI のコピーは 1 つだけです。 WMI を登録するには、以下のプロセスに従います。
WMI は、DB2 インストール中には登録されません。 それでも 2 つの登録ステップは完了する必要があります。WMI は、 DB2 Personal Edition以上の DB2 製品で選択可能なフィーチャーです。カスタマー・インストール中にこのフィーチャーを選択する必要があります。それは標準インストールには含まれていません。
IBM データ・サーバー・クライアント ライブラリーを直接ロードする CLI アプリケーションは、LoadLibrary オプションではなく LOAD_WITH_ALTERED_SEARCH_PATH オプションを指定して LoadLibraryEx API を使用する必要があります。 LOAD_WITH_ALTERED_SEARCH_PATH オプションを伴う LoadLibraryEx API を使用しない場合、使用する予定の DB2 コピーの bin ディレクトリーから db2envar.bat を実行することにより、Path 内に db2app.dll を指定します。db2apie.lib を使ってリンクするアプリケーションが別の DB2 コピーを使用するためには、link コマンドで /delayload オプションを使用して、db2app.dll のロードを遅延させ、どの DB2 呼び出しよりも前に db2SelectDB2Copy API を呼び出すことができます。
システムで稼働するシステム・トレイ実行可能ファイルの数を減らすため、デフォルト・コピーが変更されるときには、前のデフォルト DB2 コピーで稼働中のシステム・トレイ内のすべての項目がデフォルトで使用不可になります。