Linux および UNIX システムからデータベースへ接続する: 64 ビットに関する考慮事項

ブローカーがデータベースに接続できるようにするためには、データベースの ODBC データ・ソース名 (DSN) を定義してください。

始める前に:

ODBC Driver Manager には、ODBC DSN の構成を助けるグラフィカル・アプリケーションはありません。 ブローカーのホストとなるコンピューター上で、(odbc64.ini という) プレーン・テキスト・ファイルに、64 ビット ODBC 接続を DSN として定義する必要があります。

重要: HP-UX (Itanium) にブローカーを作成するためには、ブローカーがブローカー・データベースへの接続に使用する 64 ビット ODBC データ・ソース名 (DSN) を定義してください。

64 ビット DSN を定義するのは次のような場合です。
  • HP-UX (Itanium) では、ブローカーが 64 ビット・アプリケーションであり、すべてのデータベース接続は 64 ビット接続でなければなりません。 ブローカー・データベースおよびすべてのユーザー・データベースの 64 ビット DSN を定義してください。
  • Linux® または UNIX® システムで、メッセージ・フローを 64 ビット実行グループにデプロイするには、ブローカー・データベースおよびすべてのユーザー・データベースの 64 ビット DSN を定義してください。ブローカー・データベース、およびすべてのユーザー・データベースも、64 ビット・インスタンスでなければなりません。
  • トランザクションのグローバル整合のために 64 ビット・キュー・マネージャーを構成する場合、ブローカー・データベースとすべてのユーザー・データベースは 64 ビット・インスタンスでなければなりません (64 ビット・プラットフォーム上のすべての WebSphere MQ バージョン 6 キュー・マネージャーは、64 ビット・アプリケーションです)。

    メッセージ・フローを 32 ビット実行グループにデプロイし、32 ビット DSN を odbc.ini に定義しているとしても、すべてのユーザー・データベースを 64 ビット DSN として odbc64.ini ファイルで定義してください。

    グローバル整合されるメッセージ・フロー・アプリケーションが MRM メッセージを使用する場合は、ブローカー・データベースの 64 ビット DSN も定義してください。

メッセージ・フロー・アプリケーションを 32 ビット実行グループにデプロイする場合は、ブローカー・データベースを含むすべてのデータベースへの 32 ビット接続を使用可能にしてくださいLinux および UNIX システムからデータベースへ接続するを参照してください。

64 ビット DSN をデータベースに対して構成するには、以下のようにします。

  1. install_dir/DD64 ディレクトリーにある odbc64.ini サンプル・ファイルを、任意の場所にコピーします (例えば、このファイルをユーザー ID のホーム・ディレクトリーにコピーします)。 したがって、システム上の各ブローカー・サービス・ユーザー ID は、独自の DSN 定義を使用できます。

    サンプル・ファイルの内容については、odbc64.ini サンプル・ファイルを参照してください。

  2. その odbc64.ini ファイルに mqm:mqbrkrs のファイル所有権があり、提供されている odbc64.ini サンプル・ファイルと同じ許可があることを確認します。
  3. この odbc64.ini ファイルを指すように ODBCINI64 環境変数を設定します。絶対パスとファイル名を指定してください。

    既に mqsiprofile スクリプトを実行している場合、ODBCINI64 環境変数はデフォルト値に設定されています。完全修飾ファイル・パスに間違いがないように注意して、 この odbc64.ini ファイルの場所を指すように変数の値を変更してください。

  4. HP-UX (Itanium) を除くすべてのシステムでは、使用するデータベース・マネージャーの 32 ビット・ライブラリーの場所を示すように、ライブラリー検索パス環境変数を設定します。

    トランザクションのグローバル整合のために 64 ビット・キュー・マネージャー (64 ビット・プラットフォームで使用される WebSphere MQ バージョン 6 のキュー・マネージャーはすべて 64 ビット・キュー・マネージャーです) を使用している場合は、ライブラリー検索パスを設定すると、同一環境内で WebSphere MQ コマンドがまったく実行できなくなる場合があります。 詳細は、WebSphere MQ バージョン 6 インフォメーション・センター・オンライン のご使用のオペレーティング・システムに対応する「スタートアップ・ガイド」または WebSphere MQ ライブラリー Web ページWebSphere MQ バージョン 5.3 ブックの『64 ビットのキュー・マネージャーについて』を参照してください。

    ライブラリー検索パスに関する詳細は、データベース・マネージャーの資料を参照してください。

    ライブラリー検索パス環境変数は、使用しているオペレーティング・システムによって異なります。
    • Linux および Solaris の場合: LD_LIBRARY_PATH
    • HP-UX の場合: SHLIB_PATH
    • AIX® の場合: LIBPATH
    1. 64 ビット DB2® データベース・インスタンスに接続している場合は、ライブラリー検索パス環境変数の先頭に DB2 instance directory/sqllib/lib32 を追加してください。 例えば、Solaris では以下のようにします。
      export LD_LIBRARY_PATH=DB2 instance directory/sqllib/lib32:$LD_LIBRARY_PATH

      このステップは、ブローカーのパーツの一部が 32 ビット環境を参照しなければならないため、必要なステップです。しかし、このステップが原因で、この環境シェルの DB2 コマンドを実行できなくなる可能性があります。DB2 コマンドを入力するには、環境シェルを個別に開始し、関連データベースのインスタンスに対して db2profile を実行してください。DB2 バージョン 9 がインストールされていて、HP-UX 上で 64 ビット DB2 データベース・インスタンスに接続している場合は、DB2 instance directory/sqllib/lib32 を、環境変数 LD_LIBRARY_PATH および SHLIB_PATH のライブラリー検索パスの先頭に追加してください。

    2. 64 ビット Oracle インスタンスを使用する場合は、ライブラリー検索パス環境変数の先頭に $ORACLE_HOME/lib32 を追加してください。
      例えば、HP-UX では以下のようにします。
      export SHLIB_PATH=$ORACLE_HOME/lib32:$SHLIB_PATH

      このステップは、ブローカーのパーツの一部が 32 ビット環境を参照しなければならないため、必要なステップです。

  5. 64 ビット DB2 インスタンスを使用している場合は、環境変数 MQSI_LIBPATH64 を設定して、正規の 64 ビット・データベース・ライブラリーを含めてください。 例えば、AIX では以下のようにします。
    export MQSI_LIBPATH64=DB2_instance_directory/sqllib/lib64:$MQSI_LIBPATH64
  6. AIX 上にインストールされた DB2 データベース・インスタンスを使用している場合、1 つのプロセスが共用メモリーを使用して行える DB2 データベースへの接続の数は、10 が最大です。 ですから、同時にデプロイするメッセージ・フローの数が 1 個か 2 個を超える場合、DB2 エラー・メッセージ SQL1224N で示される接続の失敗が生じる可能性があります。 ブローカーの実行グループからシステム・ログに接続エラーが報告されます。

    この問題を解決するには、TCP/IP 接続を使用してデータベース・インスタンスに接続します。詳細は、DB2 への接続時に DB2 エラー・メッセージ SQL1224N が出されるを参照してください。

  7. odbc64.ini ファイルの最後のスタンザ ([ODBC] スタンザ) を編集して、ODBC Driver Manager の場所を指定し、トレースを制御します。 このスタンザの細かい内容は、オペレーティング・システムによって若干異なります。
    正しい odbc64.ini ファイルを編集しているかどうかを確認するには、以下のコマンドを使用してファイルを vi テキスト・エディターで開いてください。
    vi $ODBCINI64
    または、Linux(x86) 上では vi $ODBCINI
    1. 変更の始まりInstallDir には、WebSphere Message Broker のインストール場所を追加して、ODBC ディレクトリーへの完全修飾パスを完成させます。変更の終わり この値を正しく設定しないと、ODBC 定義は機能しません。
    2. Trace は、値を 0 に設定します。IBM サービス技術員から ODBC トレースを使用可能にするよう依頼された場合は、値を 1 に設定します。
    3. TraceFile には、ODBC トレースを書き込むファイルの完全修飾パスとファイル名を入力します。 トレース・ファイルは大きくなる可能性があります。十分の空きディスク・スペースがあるディレクトリーを指定してください。
    4. 変更の始まりTraceDll には、WebSphere Message Broker のインストール場所を追加して、ODBC トレース DLL への完全修飾パスを完成させます。変更の終わり
    5. スタンザのその他のエントリーについては、すべて、サンプル odbc64.ini ファイルに示されているデフォルト値を受け入れます。 以下に例を示します。
      • AIX の場合:
        [ODBC]
        Trace=0
        TraceFile=<A Directory with plenty of free space>/odbctrace.out
        TraceDll=<Your install directory>/DD64/lib/odbctrac.so
        InstallDir=<Your install directory>/DD64
        UseCursorLib=0
        IANAAppCodePage=4
      • HP-UX (PA-RISC) の場合:
        [ODBC]
        Trace=0
        TraceFile=<A Directory with plenty of free space>/odbctrace.out
        TraceDll=<Your install directory>/DD64/lib/odbctrac.sl
        InstallDir=<Your install directory>/DD64
        UseCursorLib=0
        IANAAppCodePage=4
  8. odbc64.ini ファイルの最初のスタンザ ([ODBC Data Sources] スタンザ) を編集して、各データベースの DSN をリストします。 以下に例を示します。
    • AIX の場合:
      [ODBC Data Sources]
      WBRKBKDB=IBM DB2 ODBC Driver
      MYDB=IBM DB2 ODBC Driver
      ORACLEDB=DataDirect 5.0 64bit Oracle Wire Protocol
      SYBASEDB=DataDirect 5.0 64bit Sybase Wire Protocol
      SQLSERVERDB=DataDirect 5.0 64bit SQL Server Wire Protocol
    • HP-UX (PA-RISC) の場合:
      [ODBC Data Sources]
      WBRKBKDB=IBM DB2 ODBC Driver
      MYDB=IBM DB2 ODBC Driver
      ORACLEDB=DataDirect 5.0 64bit Oracle Wire Protocol
      SYBASEDB=DataDirect 5.0 64bit Sybase Wire Protocol
      SQLSERVERDB=DataDirect 5.0 64bit SQL Server Wire Protocol
    例にある WBRKBKDB という DB2 データベースは、デフォルト構成ウィザード (Linux(x86) でのみ使用可能) によって作成されるブローカー・データベースです。デフォルト構成を使用していない場合は、このデータベースを odbc64.ini ファイルにリストする必要はありません。

    データベース・マネージャーに関係なく、odbc64.ini ファイル内の DSN をすべてリストしてください。 複数の DSN を同じデータベースに解決するように定義することができます。ただし、トランザクションのグローバル整合を使用している場合は、このオプションはデータ整合性の問題を引き起こす可能性があるため、使用しないでください。

  9. odbc64.ini ファイルの [ODBC Data Sources] スタンザの後に、[ODBC Data Sources] スタンザにリストした各データベースのスタンザを作成します。 スタンザ内のエントリーは、データベース・マネージャーによって異なります。情報 (例えばドライバーへのファイル・パスなど) は、オペレーティング・システムによって異なる場合があります。
    DB2 データベース・インスタンスの場合は、次のようになります。
    1. Driver には、サンプル odbc64.ini ファイルで示されている値をそのまま受け入れます。
    2. Description には、データベースについて意味のある説明を入力します。このフィールドは情報専用で、接続には影響しません。
    3. Database には、DB2 別名を入力します。 データ・ソース名は、データベース別名と同じでなければなりません。 リモート DB2 データベースを使用している場合、この別名を正確なデータベースに解決するために、クライアント/サーバー接続をセットアップしてください。詳しくは、DB2 資料を参照してください。
      例えば、AIX では以下のようにします。
      [MYDB]
      Driver=libdb2Wrapper64.so
      Description=MYDB DB2 ODBC Database
      Database=MYDB
    Oracle データベースの場合は、次のようになります。
    1. 変更の始まりDriver には、WebSphere Message Broker のインストール場所を追加して、サンプル odbc64.ini ファイルに示されているドライバーへの完全修飾パスを完成させます。変更の終わり
    2. Description には、データベースについて意味のある説明を入力します。このフィールドは情報専用で、接続には影響しません。
    3. HostName には、Oracle データベースが稼働時に使用するインスタンスの IP アドレスを入力します。
    4. PortNumber には、Oracle データベースが listen するポート番号を入力します。
    5. SID には、Oracle データベース・サーバーで認識されているデータベースの Oracle システム ID を入力します。
    6. スタンザのその他のエントリーについては、すべて、サンプル odbc64.ini ファイルに示されているデフォルト値を受け入れます。以下に例を示します。
      • AIX の場合:
        [ORACLEDB]
        Driver=<Your install directory>/DD64/lib/UKora20.so
        Description=DataDirect 5.0 64bit Oracle Wire Protocol
        HostName=<Your Oracle Server Machine Name>
        PortNumber=<Port on which Oracle is listening on HostName>
        SID=<Your Oracle SID>
        CatalogOptions=0
        EnableStaticCursorsForLongData=0
        ApplicationUsingThreads=1
        EnableDescribeParam=1
        OptimizePrepare=1
        WorkArounds=536870912
        ProcedureRetResults=1
        ColumnSizeAsCharacter=1
      • HP-UX (PA-RISC) の場合:
        [ORACLEDB]
        Driver=<Your install directory>/DD64/lib/UKora20.sl
        Description=DataDirect 5.0 64bit Oracle Wire Protocol
        HostName=<Your Oracle Server Machine Name>
        PortNumber=<Port on which Oracle is listening on HostName>
        SID=<Your Oracle SID>
        CatalogOptions=0
        EnableStaticCursorsForLongData=0
        ApplicationUsingThreads=1
        EnableDescribeParam=1
        OptimizePrepare=1
        WorkArounds=536870912
        ProcedureRetResults=1
        ColumnSizeAsCharacter=1
    Sybase データベースの場合は、次のようになります。
    1. 変更の始まりDriver には、WebSphere Message Broker のインストール場所を追加して、サンプル odbc64.ini ファイルに示されているドライバーへの完全修飾パスを完成させます。変更の終わり
    2. Description には、データベースについて意味のある説明を入力します。このフィールドは情報専用で、接続には影響しません。
    3. Database には、デフォルトで接続するデータベースの名前を入力します。値を指定しなかった場合、各ユーザーごとにシステム管理者によって定義されたデータベースがデフォルトとなります。
    4. NetworkAddress には、使用する Sybase ASE サーバーのネットワーク・アドレスを入力します (これはローカルおよびリモート・データベースで必須です)。以下の形式で IP アドレスを指定します。
      <servername or IP address>,<portnumber>
      例えば、Sybaseserver, 5000 のように指定します。199.226.224.34,5000 のように IP アドレスを直接指定することもできます。Linux および UNIX システムでは、interfaces という名前の Sybase インターフェース・ファイルからポート番号を確認できます。
    5. スタンザのその他のエントリーについては、すべて、サンプル odbc64.ini ファイルに示されているデフォルト値を受け入れます。以下に例を示します。
      • AIX の場合:
        [SYBASEDB]
        Driver=<Your install directory>/DD64/lib/UKase20.so
        Description=DataDirect 5.0 64bit Sybase Wire Protocol
        Database=<Your Database Name>
        ApplicationUsingThreads=1
        EnableDescribeParam=1
        OptimizePrepare=1
        SelectMethod=0
        NetworkAddress=<YourServerName>,<YourPortNumber>
        SelectUserName=1
      • HP-UX (PA-RISC) の場合:
        [SYBASEDB]
        Driver=<Your install directory>/DD64/lib/UKase20.sl
        Description=DataDirect 5.0 64bit Sybase Wire Protocol
        Database=<Your Database Name>
        ApplicationUsingThreads=1
        EnableDescribeParam=1
        OptimizePrepare=1
        SelectMethod=0
        NetworkAddress=<YourServerName>,<YourPortNumber>
        SelectUserName=1
    SQL Server データベースの場合は、次のようになります。
    1. Driver には、WebSphere Message Broker のインストール場所を追加して、サンプル odbc64.ini ファイルに示されているドライバーへの完全修飾パスを完成させます。
    2. Description には、データベースについて意味のある説明を入力します。このフィールドは情報専用で、接続には影響しません。
    3. Address には、使用するデータベース・サーバーのネットワーク・アドレスを入力します (これはローカルおよびリモート・データベースで必須です)。以下の形式で IP アドレスを指定します。
      <servername or IP address>,<portnumber>
    4. Database には、デフォルトで接続するデータベースの名前を入力します。値を指定しなかった場合、各ユーザーごとにシステム管理者によって定義されたデータベースがデフォルトとなります。
    5. スタンザのその他のエントリーについては、すべて、サンプル odbc64.ini ファイルに示されているデフォルト値を受け入れます。
      例えば、AIX では以下のようにします。
      [SQLSERVERDB]
      Driver=<Your_install_directory>/merant/lib/UKmsss20.so
      Description=DataDirect 5.0 SQL Server Driver
      Address=<Your SQLServer Host>,<Your SQLServer server port>
      Database=<Your Database Name>
      AnsiNPW=Yes
      QuoteId=No
  10. 以下に示す odbc64.ini ファイルの 3 つの部分すべてが編集済みであることを確認してください。
    • odbc64.ini ファイルの先頭にある [ODBC Data Source] スタンザ。
    • 各データ・ソースのスタンザ。
    • odbc64.ini ファイルの最後にある [ODBC] スタンザ。
    3 つの部分がすべて適正に構成されていないと、ODBC DSN は無効であり、ブローカーはデータベースに接続できません。
これで、64 ビット ODBC データベース接続が構成されました。
次に行う事柄: コンソール・コマンドを発行したり、ブローカーを実行したりするための環境を構成することで、ブローカーが必要なデータベース・ライブラリーにアクセスできるようにします。 詳しくは、データベースへのアクセスをサポートするための環境の設定を参照してください。
関連タスク
Linux および UNIX システムでの DB2 データベースの作成
ブローカーおよびユーザー・データベースの作成
Linux および UNIX システムからデータベースへ接続する
DB2 ブローカー・データベースでデータベース・ヒープ・サイズを変更する操作
関連資料
サポートされるデータベース
odbc64.ini サンプル・ファイル
関連情報
WebSphere MQ バージョン 6 インフォメーション・センター・オンライン
WebSphere MQ ライブラリー Web ページ
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
最終更新 : 2009-02-20 12:43:59

ah25530_