同じシステム内で複数の同時開発環境またはテスト環境をサポートする場合、
非修飾テーブル名を使用してアプリケーションを書くことがあります。
非修飾テーブル名を使用すると、異なる修飾子の名前を持つ同じデータベース・スキーマの複数のコピーに対して、複数の開発者が同時に実行できます。
非修飾テーブル名の使用により、テスト環境および開発環境の複数のスキーマを同じサブシステム上に常駐させることができます。
そのような環境を維持し、データベースに対して実行しているアプリケーションおよびその関連パッケージの複数のインスタンスを保持するには、構造化されたアプローチが必要です。
DB2® for Linux、UNIX、および Windows のデータベースを使用する環境では、データベース全体を 1 つの開発環境またはテスト環境に割り当てることができます。
また、複数のアプリケーション・インスタンスが DB2 for Linux、UNIX、
および Windows の環境で同じデータベースを共用する場合、
または単一の DB2 for z/OS® サブシステムに複数の開発環境またはテスト環境が存在する場合は、命名規則を使用して同じシステム内で独立した環境をサポートできます。
以下のリストに、1 つのデータベース内で複数のスキーマを使用する際の推奨情報を示します。
- 環境の独立性を確保するには、テーブルまたはその他のデータベース・オブジェクト、スキーマ、およびパッケージを分離する必要があります。
テーブルの独立性を確保するには、異なる修飾子セットを持つ同一のテーブル・スキーマを作成します。
- パッケージをバインドする場合は、QUALIFER オプションを使用して、デフォルトのスキーマを設定できます。
同じパッケージ名で異なる修飾子設定を持つ複数のパッケージを、1 つの開発環境で使用する場合があります。
同じパッケージ名を持つ複数のパッケージをサポートするには、修飾子のオプションの他に、その他の規則を使用する必要があります。
コレクション ID またはパッケージ・バージョン管理の 2 つのオプションを使用できます。
- コレクション ID
- パッケージ・コレクションは、パッケージのグループを示します。コレクションを使用すると、同じ名前を持つ複数のパッケージが同じシステム上に存在できるようになります。
コレクションは、固有性が維持されるコンテナーと考えることができます。
同じ名前を持つ複数のパッケージが異なるコレクションに存在する場合、それらのパッケージは同じシステム上に存在できます。
コレクションを使用すると、多くのアプリケーション開発者がアプリケーションのさまざまなバージョンで作業して、同じサーバー上でテストおよび実稼働に対応できるようになり、アプリケーション・バージョンのロールアウトを段階的かつ完全に使用できるようになります。
独立したコレクションの場合、アプリケーションは、変数 CURRENT PACKAGESET (または DB2 for Linux、UNIX、および Windows、または DB2 for z/OS の CURRENT PACKAGE PATH) を設定する必要があります。変数の設定は、WebSphere® DataSource の設定で実行できます。
-collection オプションを指定して pureQuery Configure ユーティリティーを使用し、コレクション ID を設定します。
ヒント: pureQueryXML ファイルで Configure ユーティリティーを使用すると、コレクション ID がファイルに追加されます。
Configure ユーティリティーの -collection オプションで構成されたファイル内のコレクション ID を変更するには、値を REQUIRED に設定した Configure オプション -setPreStatusOfAllPackages を使用するか、
値を TRUE を設定した Configure オプション -cleanConfigure を使用する必要もあります。
- パッケージ・バージョン
- パッケージ・バージョン管理でも同じ結果を得ることができます。独立したコレクションと同様に、異なるバージョンのパッケージが同じコレクションに存在しても、共存が可能です。
パッケージ・バージョンは、WebSphere データ・ソースまたはアプリケーション・ロジックで特別な設定を必要としないという利点があります。
バージョン管理では、アプリケーションの pureQueryXML ファイル内の整合性トークンにより、正しいパッケージ・バージョンが特定されます。
-pkgVersion オプションを指定して pureQuery Configure ユーティリティーを使用し、パッケージ・バージョンを設定します。