Linux および UNIX システムからデータベースへ接続する

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

始める前に:
重要:
  • HP-UX (Itanium)を除く任意のプラットフォームにブローカーを作成する前に、64 ビット・データベースに接続する場合であっても、ブローカーがブローカー・データベースに接続するのに使用する 32 ビット ODBC データ・ソース名 (DSN) を定義する必要があります。これはブローカーが 32 ビット・アプリケーションであるからです。
  • 64 ビットの実行グループを使用している場合や、64 ビットのキュー・マネージャーを使用してトランザクションをグローバル整合している場合に、ブローカー・・データベースの 64 ビット DSN も定義することが必要になる場合があります。詳細は、データベースへの ODBC 接続の使用可能化を参照してください。
  • HP-UX (Itanium) 上のブローカーは 64 ビット・アプリケーションです。そのため、このプラットフォームの場合は、ブローカー・データベースの 64 ビット ODBC DSN を定義する必要があります (Linux および UNIX システムからデータベースへ接続する: 64 ビットに関する考慮事項を参照してください)。

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

データベースの 32 ビット DSN を構成するには、次のようにします。

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

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

  2. odbc.ini ファイルに mqm:mqbrkrs のファイル所有権があり、提供されているサンプル・ファイルと同じ許可があることを確認します。
  3. この odbc.ini ファイルを指すように ODBCINI 環境変数を設定します。絶対パスとファイル名を指定してください。 既に mqsiprofile スクリプトを実行している場合、ODBCINI 環境変数はデフォルト値に設定されています。この場合は、 完全修飾ファイル・パスに間違いがないように注意して、この odbc.ini ファイルの場所を指すように変数の値を変更するだけです (デフォルトの環境変数ではファイル odbc.ini が指定されています)。
  4. 使用するデータベース・マネージャーの 32 ビット・ライブラリーの場所を示すように、ライブラリー検索パス環境変数を設定します。 使用するデータベース・マネージャーについての情報は、データベース管理者 (DBA) に尋ねてください。

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

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

    ライブラリー検索パス環境変数は、使用しているプラットフォームによって異なります。
    • Linux platformSolaris platform Linux® および Solaris の場合: LD_LIBRARY_PATH
    • HP-UX platform HP-UX の場合: SHLIB_PATH
    • AIX platform 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 を実行してください。

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

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

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

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

  8. odbc.ini ファイルの [ODBC Data Sources] スタンザの後に、 [ODBC Data Sources] スタンザにリストした各データベースのスタンザを作成します。 スタンザ内のエントリーは、データベース・マネージャーによって異なります。また、オペレーティング・システムの違いによっても、ドライバーへのファイル・パスなどの部分でいくらかの違いがあります。
    DB2 データベース・インスタンスの場合は、次のようになります。
    1. Driver では、使用する DB2 インストール済み環境に適合する 32 ビット・ドライバー・ライブラリーの場所を入力します。
    2. Description には、データベースについて意味のある説明を入力します。このフィールドは情報専用で、接続には影響しません。
    3. Database には、DB2 別名を入力します。 データ・ソース名は、データベース別名と同じでなければなりません。 リモート DB2 データベースを使用している場合、この別名を正確なデータベースに解決するために、クライアント/サーバー接続をセットアップする必要があります。詳しくは、DB2 資料を参照してください。

      例えば、AIX では以下のようにします。

      [MYDB]
      Driver=libdb2Wrapper64.so
      Description=MYDB DB2 ODBC Database
      Database=MYDB
    Oracle データベースの場合は、次のようになります。
    1. 変更の始まりDriver には、WebSphere Event Broker のインストール場所を追加して、 サンプル odbc.ini ファイルに示されているドライバーへの完全修飾パスを完成させます。変更の終わり
    2. Description には、データベースについて意味のある説明を入力します。このフィールドは情報専用で、接続には影響しません。
    3. ServerName には、(たとえば、TSNAMES.ORA ファイルのマッピングを介して) ターゲット Oracle データベースに解決される Oracle Service Name または Connect Descriptor を入力します。
    4. スタンザのその他のエントリーについては、すべて、サンプル odbc.ini ファイルに示されているデフォルト値を受け入れます。
      例えば、AIX では以下のようにします。
      [ORACLEDB]
      Driver=<Your_install_directory>/merant/lib/UKor820.so
      Description=DataDirect 5.0 Oracle
      EnableDescribeParam=1
      OptimizePrepare=1
      ServerName=<Your Oracle host>
      WorkArounds=536870912
      ProcedureRetResults=1
      ColumnSizeAsCharacter=1
    Sybase データベースの場合は、次のようになります。
    1. 変更の始まりDriver には、WebSphere Event Broker のインストール場所を追加して、 サンプル odbc.ini ファイルに示されているドライバーへの完全修飾パスを完成させます。変更の終わり
    2. Description には、データベースについて意味のある説明を入力します。このフィールドは情報専用で、接続には影響しません。
    3. Database には、デフォルトで接続するデータベースの名前を入力します。値を指定しなかった場合、各ユーザーごとにシステム管理者によって定義されたデータベースがデフォルト値となります。
    4. ServerName には、サーバー・コンピューター上で定義した、データベースをホストする Sybase ASE サーバーの名前を入力します。
    5. NetworkAddress には、使用する Sybase ASE サーバーのネットワーク・アドレスを入力します (このアドレスは、ローカルおよびリモート・データベースで必須です)。以下のように IP アドレスまたはサーバー名を指定します。
      <servername or IP address>,<portnumber>

      たとえば、Sybaseserver,5000 のようになります。199.226.224.34,5000 のように IP アドレスを直接指定することもできます。interfaces という名前の Sybase インターフェース・ファイルからポート番号を確認できます。

    6. スタンザのその他のエントリーについては、すべて、サンプル odbc.ini ファイルに示されているデフォルト値を受け入れます。
      例えば、AIX では以下のようにします。
      [SYBASEDB]
      Driver=<Your_install_directory>/merant/lib/UKase20.so
      Description=DataDirect 5.0 Sybase Wire Protocol
      Database=<Your Database Name>
      ServerName=<Your Server Name>
      EnableDescribeParam=1
      OptimizePrepare=1
      SelectMethod=0
      NetworkAddress=<YourServerName>,<YourPortNumber>
      SelectUserName=1
    SQL Server データベースの場合は、次のようになります。
    1. Driver には、WebSphere Event Broker のインストール場所を追加して、 サンプル odbc.ini に示されているドライバーへの完全修飾パスを完成させます。
    2. Description には、データベースについて意味のある説明を入力します。このフィールドは情報専用で、接続には影響しません。
    3. Address には、使用するデータベース・サーバーのネットワーク・アドレスを入力します (このアドレスは、ローカルおよびリモート・データベースで必須です)。以下のように IP アドレスまたはサーバー名を指定します。
      <servername or IP address>,<portnumber>
    4. Database には、デフォルトで接続するデータベースの名前を入力します。値を指定しなかった場合、各ユーザーごとにシステム管理者によって定義されたデータベースがデフォルト値となります。
    5. スタンザのその他のエントリーについては、すべて、サンプル odbc.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
    Informix® データベースの場合は、次のようになります。
    1. Driver には、WebSphere Event Broker のインストール場所を追加して、 サンプル odbc.ini ファイルに示されているドライバーへの完全修飾パスを完成させます。
    2. Description には、データベースについて意味のある説明を入力します。このフィールドは情報専用で、接続には影響しません。
    3. ServerName には、Informix IDS サーバーの名前を入力します。
    4. Database には、IDS サーバー上のデータベースの名前を入力します。
      例えば、AIX では以下のようにします。
      # Informix stanza
      [INFORMIXDB]
      Driver=<Your Informix Client Directory>/lib/cli/iclit09b.so
      Description=IBM Informix ODBC Driver
      ServerName=<YourServerName>
      Database=<Your Database Name>
  9. 以下に示す odbc.ini ファイルの 3 つの部分すべてが編集済みであることを確認してください。
    • odbc.ini ファイルの先頭にある [ODBC Data Source] スタンザ。
    • 各データ・ソースのスタンザ。
    • odbc.ini ファイルの最後にある [ODBC] スタンザ。
    3 つの部分がすべて適正に構成されていないと、ODBC DSN は機能せず、ブローカーはデータベースに接続できません。
  10. DB2 バージョン 9.1 を HP-UX (PA-RISC) 上で実行している場合、環境変数 MQSI_SIGNAL_EXCLUSIONS をブローカー環境内にエクスポートします。
    export MQSI_SIGNAL_EXCLUSIONS=10
これで、Linux および UNIX® 上の 32 ビット・アプリケーションからのデータベース接続が構成されました。
次に行う事柄: コンソール・コマンドを発行したり、ブローカーを実行したりするための環境を構成することで、ブローカーが必要なデータベース・ライブラリーにアクセスできるようにします。 詳しくは、データベースへのアクセスをサポートするための環境の設定を参照してください。
関連タスク
ブローカー・データベースの作成
DB2 ブローカー・データベースでデータベース・ヒープ・サイズを変更する操作
関連資料
サポートされるデータベース
odbc.ini サンプル・ファイル
関連情報
WebSphere MQ バージョン 6 インフォメーション・センター・オンライン
WebSphere MQ ライブラリー Web ページ
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009. All Rights Reserved.
最終更新 : 2009-02-13 10:23:20

ah14444_