5.データベース テーブルの自動インクリメント フィールドの処理。
ロードする必要がある自動インクリメント フィールドを含むテーブル、つまりテーブルの ixf データ ファイルに自動インクリメント列値がある場合、次のパラメータをロード コマンドに追加できます。自動インクリメントフィールド値を制御します。
1).identityignore によって変更: ロードされたデータ ファイルには自動インクリメント フィールド値があり、データ ファイル内の自動インクリメント フィールド値はロード時に無視されます。
2).identitymissing によって変更されました:ロードされたデータ ファイルに自動インクリメント フィールド値がありません。3
).identityoverride によって変更されました:自動インクリメント フィールド値があります。ロードされたデータ ファイル。ロード時にそのデータ ファイルが使用されます。
ターゲット データベースの自動インクリメント フィールドを含むテーブルのデータをソース データベースのデータと一致させるために、この記事の例では、modified byidentityoverride パラメーターを使用することを選択し、自動インクリメント フィールドを使用します。データをインポートするときにデータファイル内の値を変更します。読者は、さまざまな状況に応じて適切な制御パラメータを選択できます。
まず、srcdb1_tables.ddl ファイルで自動インクリメント フィールドを含むすべてのテーブル名 (GENERATED ALWAYS AS IDENTITY フィールドを含むテーブル) を検索し、次に、identityoverride ステートメントのフラグメントによって変更されたものを、srcdb1_load.sql の自動インクリメント フィールドを持つこれらのテーブルに挿入します。対応するロードコマンドラインで。
リスト 8. ロード スクリプトでの自動追加フィールドの処理
db2 は、identityoverride によって変更された ixf の test.ixf から TEST に挿入します
。エクスポート スクリプトを実行して
、すべてのテーブルのデータをエクスポートします。
# db2 -tvf
srcdb1_export.sql によってエクスポートされたテーブル データは、ixf 形式で現在のパスに保存されます。
7.スクリプトとデータ ファイルの保存
すべての DDL スクリプトとデータ ファイル *.ixf を、ターゲット システムが存在するサイトにコピーします。
LINUX システムでの操作
1.コマンド行プロセッサー (CLP) を使用してインスタンス SRCDB1 を作成します。
# db2icrt SRCDB1
2. CREATE DATABASE コマンドを使用してデータベース SRCDB1 を作成し、必要な表スペースを作成し、必要なデータベース パラメータを構成します。
# db2 データベース SRCDB1 を作成
3.データベース SRCDB1 に接続し、 srcdb1_tables.ddl スクリプトを実行して、バッファー プール、表スペース、UDF、表、およびインデックス、シーケンス、ビューなどのデータベース オブジェクトを作成します。
# db2 srcdb1 に接続
# db2 -tvf srcdb1_tables.ddl
4. .ixf データ ファイルが配置されているディレクトリを入力し、次のコマンドを実行してテーブル データをインポートします。
# db2 -tvf srcdb1_load.sql
5. srcdb1_foriegnkeys.ddl、srcdb1_triggers.ddl、srcdb1_procedures.ddl スクリプト ファイルを使用して、外部キー制約、トリガー、ストアド プロシージャを作成します。
# db2 -tvf srcdb1_foriegnkeys.ddl
# db2 -tvf srcdb1_triggers.ddl
# db2 -tvf srcdb1_procedures.ddl
上記の手順が正常に完了すると、データベースの移行作業は基本的に完了します。
Apache サーバーと php のインストールと設定
Apache サーバーのインストールと設定
Apache HTTP サーバーはモジュール型のソフトウェアであり、管理者はサーバーに含まれるモジュールを選択することで機能を増減できます。モジュールは、コンパイル時に httpd バイナリに静的に組み込むことも、httpd バイナリとは独立して動的共有オブジェクト (DSO) にコンパイルすることもできます。 DSO モジュールは、サーバーと一緒にコンパイルすることも、Apache 拡張ツール (apxs) を使用して個別にコンパイルすることもできます。動的ロードは静的ロードよりも柔軟です。動的ロード機能を使用するには、Apache サーバーを動的共有オブジェクト (DSO、動的共有オブジェクト) としてコンパイルする必要があります。 Apache の DSO サポートは mod_so と呼ばれるモジュールに基づいています。動的ロードをサポートするには、このモジュールを事前にカーネルに静的にコンパイルする必要があります。したがって、mod_so モジュールを使用して、インストールされている Apache が DSO をサポートしているかどうかを検出できます。
リスト 9. mod_so モジュールの検出
# $APACHEHOME/bin/httpd –l
モジュールでコンパイル:
core.c
prefork.c
http_core.c
mod_so.c
リストされたモジュール名に mod_so.c がある場合は、インストールされている Apache がすでに DSO をサポートしていることを意味します。それ以外の場合は、Apache を再コンパイルする必要があります。 Apache のインストールと構成のプロセスは、次のように非常に簡単です
。 httpd-2.0.54.tar.gz ( http://httpd.apache.org/ ) をダウンロードし、指定したディレクトリに解凍します
# tar zxvf httpd-2.0.54.tar.gz && cd httpd-2.0.54
2. Apache をコンパイルしてインストールします
# ./configure --prefix=/usr/local/apache2 --enable-module=so
-- プレフィックスは Apache のインストール パスを指定します
--enable-module=so so モジュール (mod_so) を静的にコンパイルします。 DSO モードをサポートするための Apache サーバー カーネル
# make && make install
3. Apache を起動します
# ln -s /usr/local/apache2/bin/apachectl /sbin/apachectl
# apachectl
phpのインストールと構成中に php のインストール
と構成プロセス
を開始します、注意する必要がある側面が 2 つあります。1 つ目は php と Apache http サーバーの組み合わせ、2 つ目は php と db2 データ ソース間の接続です。
Apache 環境に PHP をインストールする場合、静的モジュール、動的モジュール (DSO)、および CGI の 3 つのインストール モードから選択できます。 DSO モードでインストールすることをお勧めします。このモードのメンテナンスとアップグレードは、Apache を再コンパイルすることなく、必要に応じて動的に追加できます。もちろん、これを行うと、Apache サーバーの起動が約 20% 遅くなり、動作効率も多少低下します。
また、PHP が DB2 データ ソースに接続するには、統合 ODBC ドライバー、IBM_DB2、および PDO (php データ オブジェクト) の 3 つの方法があります。
◆Unified ODBC ドライバーは、PHP がデータベースにアクセスするための最も初期の拡張モジュールの 1 つです。 DB2 v7.2 以降、統合 ODBC ドライバーは、DB2 へのアクセスをサポートします。統合 ODBC ドライバーは、ODBC をサポートするすべてのデータベースに統合データ アクセス インターフェイスを提供します。インターフェイスの汎用性を確保するために、統合 ODBC ドライバーは、さまざまな種類のデータベースに対して特定の最適化を行いません。
◆IBM_DB2 は、DB2 データ ソースと対話するために IBM によって開発および保守されている拡張モジュールであり、オープン ソース契約に準拠しています。 DB2 UDB および PHP 4.x に基づくアプリケーションの場合、IBM_DB2 が最適な選択です。これは、IBM_DB2 が DB2 UDB 用に最適化されており、統合 ODBC ドライバーの使用時に発生する可能性のある互換性の問題を回避できるためです。ただし、IBM_DB2 は DB2 v8.2.2 以降のみをサポートします。
◆PDO は、PHP 5.x でサポートされる新しいデータベース アクセス方法です。この記事では、ソース データベースとターゲット データベースのバージョンが両方とも DB2 v8.1 であり、ソース環境では統合 ODBC ドライバーが使用されているため、環境構成の一貫性を維持するために、引き続き統合 ODBC ドライバーが選択されています。 PHP とデータ ソース間のアクセス インターフェイスとして。
PHP のインストールと構成のプロセスは次のとおりです。
1. php-4.4.4.tar.gz ( http://www.php.net/ ) をダウンロードして解凍します。
# tar zxvf php-4.4.4.tar.gz
# cd php-4.4.4
2. PHP ソース コードの構成とコンパイル
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/sbin/apxs --without-mysql --with-ibm-db2=/home/reportdb/ sqllib
--prefix は、php のインストール パスを指定します。
--with-apxs2 は、apxs プログラムのパスを指定します (apxs は、Apache のソース コードを使用せずに php モジュールを DSO ファイルにコンパイルできる Perl スクリプトです)
--with- ibm-db2 は、php とデータ ソース間のアクセス インターフェイスとして統合 ODBC ドライバーを指定し、DB2 インスタンスのインストール ディレクトリを指定します。
--without-mysql mysql データベースのデフォルトのインストール設定を無視します
#cp php.ini-dist /usr/local/lib
php インストール ファイルの php.ini-dist を php 設定として /usr/local/lib にコピーします書類。
# make && make install
# cp php.ini-dist /usr/local/lib/php.ini
3. /usr/local/apache2/conf/httpd.conf ファイルを編集し、次の変更を加えます。
HTML ファイルのホーム ディレクトリを設定します。Web サイトに必要な Web ファイルの保存に使用されるホーム ディレクトリは、
DocumentRoot "/home/web. /www/" は、
Apache のデフォルトを設定します。 ファイル名の順序: Apache は、現在のパス内でサポートされているデフォルトのホームページ ファイル
DirectoryIndexindex.phpindex.html.varindex.cgiindex.html
を前から後ろの順序で検索します。 PHP 解釈ファイルのサフィックスを追加します: すべてのニーズに対応 PHP によって解釈されるファイル タイプの場合、PHP モジュールをロードするには、AddType 構成項目AddType application/x-httpd-php .php .inc
にサフィックスを追加する必要があります
: ライブラリ libphp4 をロードします。 .so をモジュール ディレクトリ modules の下に追加し、アクティブ モジュール
リスト
4 の LoadModule php4_module modules/libphp4.so にモジュール構造名 php4_module を追加します。構成ファイル /usr/local/apache2/bin/apachectl を編集します。
DB2 データベースとの接続を確保するには、Apache サービスを開始するときに、同時に DB2 クライアント インスタンス環境を初期化する必要があります。 DB2 インスタンスを作成するとき、DB2 は必要な DB2 インスタンス環境を初期化するシェル スクリプトを自動的に生成します。
if test -f /home/reportdb/sqllib/db2profile
fi
;
5.次に、Apache サーバーを再起動して、上記の設定変更を継承します。
# apachectl を再起動します
6.次の内容を含む PHP テスト ファイル test.php を作成します
。
?>
Apache の HTML ファイルのメインディレクトリ /home/web/www に格納し、ブラウザから Web ページにアクセスできれば (下図のように)、設定作業は完了です。
結論
この記事では主に、PHP と DB2 UDB に基づくアプリケーション システムのクロスプラットフォーム移行プロセスについて説明し、DB2 データベース システムのクロスプラットフォーム移行と、Apache サーバーと PHP アプリケーション システムのインストールと構成のプロセスについて詳しく説明します。実際の経験に基づいて、DB2 データベース システムのクロスプラットフォーム移行問題に対する実現可能な解決策が提供されます。この記事では、移植プロセス中に発生する可能性のある問題の詳細な説明と対応する解決策も提供します。この記事では、AIX システムから LINUX システムへのアプリケーション システムの移植プロセスのみを説明しますが、読者は具体的な移植プロセスを参照して、それを他のプラットフォームに適用することもできます。