アプリケーション構築の手引き


質問

質問 1: どのように以前のバージョンのアプリケーションを、 DB2 クライアントの実行時ライブラリー (AIX 上の libdb2.a など) にリンクしましたか ?

実行可能用に組み込み共用ライブラリーの探索パスを判別するには、 次のシステム・コマンドの 1 つを使用します。

AIX
/usr/bin/dump -H executable_filename

HP-UX
/usr/bin/chatr executable_filename

Linux
/usr/bin/objdump -p executable_filename

DYNIX/ptx
/usr/bin/dump -Lv executable_filename

Silicon Graphics IRIX
/bin/elfdump -Lv executable_filename

Solaris
/usr/bin/dump -Lv executable_filename

executable_filename はアプリケーションの実行可能ファイルの名前です。

以下に、 AIX アプリケーション用の DB2 バージョン 1 のサンプル・ダンプ・リストを記載します。

   --------------------------------------------------------------------------
     dbcat:
       ***Loader Section***
                           Loader Header Information
     VERSION#         #SYMtableENT     #RELOCent        LENidSTR
     0x00000001       0x00000012       0x00000029       0x00000064
     #IMPfilID        OFFidSTR         LENstrTBL        OFFstrTBL
     0x00000004       0x000003bc       0x00000077       0x00000420
       ***Import File Strings***
     INDEX  PATH                          BASE                MEMBER
     0      /usr/lpp/db2_01_01_0000/lib:/usr/lpp/xlC/lib:/usr/lib:/lib
     1                                    libc.a              shr.o
     2                                    libC.a              shr.o
     3                                    libdb2.a            shr.o
   --------------------------------------------------------------------------

ライン 0 (ゼロ) は、リンクされている共用ライブラリーを検出するために、 実行可能が検索するディレクトリー・パスを示します。 ライン 1、2、3 は、アプリケーションがリンクされている共用ライブラリーを示しています。

アプリケーションが構築された方法によって、以下のパスを検索できます。 /usr/lpp/db2_01_01_0000/libINSTHOME/sqllib/lib (INSTHOME はデータベース・インスタンス所有者のホーム・ディレクトリー)、 または /usr/lib:/lib の組み合わせ。

質問 2: どのような方法でシステムの DB2 実行時ライブラリーを構成しましたか ?

DB2 バージョン 1、2、5、6.1、または 7.1 がインストールされている場合、 DB2 クライアント実行時ライブラリーを含むシステム・デフォルト共用ライブラリー・パス /usr/lib から、 DB2 クライアント実行時ライブラリーを含む DB2 インストール・パスへの記号リンクを作成するステップ (任意選択) があります。

DB2 の各バージョンのインストール・パスは、以下のとおりです。

バージョン 1
/usr/lpp/db2_01_01_0000/lib

バージョン 2
/usr/lpp/db2_02_01/lib

バージョン 5
/usr/lpp/db2_05_00/lib

バージョン 6.1
/usr/lpp/db2_06_01/lib

バージョン 7.1
/usr/lpp/db2_07_01/lib

すべての場合に、実行時共用ライブラリーの名前は、libdb2.a です。

一度に、これらのライブラリーの 1 つのバージョンだけが、デフォルトになります。 DB2 がこのデフォルトを提供するので、 アプリケーションを構築するときに DB2 の特定のバージョンに依存することはありません。

質問 3: 環境の中で異なる検索パスを指定しますか ?

LIBPATH 環境変数 (AIX 上)、SHLIB_PATH (HP-UX 上)、 LD_LIBRARY_PATH (Linux、DYNIX/ptx、Silicon Graphics IRIX、および Solaris 上) を使用して、 アプリケーション中でコーディングされている共用ライブラリーの検索パスを指定変更できます。
注:Silicon Graphics IRIX 上の n32 オブジェクト・タイプ・アプリケーションの場合には、 LD_LIBRARYN32_PATH 環境変数を使用してください。
ライブラリー検索パスは、 質問 1 の答えの中で与えられたプラットフォーム用の適切なシステム・コマンドを使って、 調べることができます。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]