WebSphere® Message
Broker ODBC Database Extender によって、unixODBC ドライバー・マネージャーがカプセル化されます。ブローカーを使用するには、それをセットアップして構成する必要があります。
以下の情報は、サポートされるすべてのデータベースに適用されます。
始める前に:
- install_dir/ODBC/unixodbc/ ディレクトリーに提供されている odbc.ini サンプル・ファイルを、任意の場所にコピーします。 したがって、システム上の各ブローカー・サービス・ユーザー ID は、独自の DSN 定義を使用できます。
サンプル・ファイルの内容については、WebSphere Message Broker ODBC 構成ファイルのサンプルを参照してください。
注: バックアップとリストアの手順に関する問題を回避するため、サンプル・ファイルのコピーを、ユーザー ID のホーム・ディレクトリーではなく /var/mqsi ディレクトリーに配置することをお勧めします。
- odbc.ini ファイルに mqm:mqbrkrs のファイル所有権があり、提供されているサンプル・ファイルと同じ許可があることを確認します。
- この odbc.ini ファイルを指すように ODBCINI 環境変数を設定します。絶対パスとファイル名を指定してください。 必ずコピーを指すようにし、インストール・ディレクトリーにある odbc.ini ファイルは指さないでください。
- install_dir/ODBC/unixodbc/ ディレクトリーに提供されている odbcinst.ini サンプル・ファイルを、任意の場所にコピーします。 ステップ 1 の注: を参照してください。
サンプル・ファイルの内容については、WebSphere Message Broker ODBC 構成ファイルのサンプルを参照してください。
- odbcinst.ini ファイルに mqm:mqbrkrs のファイル所有権があり、提供されているサンプル・ファイルと同じ許可があることを確認します。
- この odbcinst.ini ファイルが含まれるディレクトリーを指すように ODBCSYSINI 環境変数を設定します。絶対パス名を指定してください。 必ずコピーが入っているディレクトリーを指すようにし、インストール・ディレクトリーにある odbcinst.ini ファイルが入っているディレクトリーは指さないようにしてください。
- DB2® solidDB®、または Informix® データベースに接続する場合には、使用するデータベース・マネージャーのライブラリーの場所を示すように、ライブラリー検索パス環境変数を設定します。
ライブラリー検索パスに関する詳細は、データベース管理者 (DBA) に問い合わせるか、またはデータベース・マネージャーの資料を参照してください。
サポートされている他のデータベースには、ライブラリー検索パスの更新は必要ありません。
- AIX 上にインストールされた DB2 データベース・インスタンスを使用する場合、1 つのプロセスが共用メモリーを使用して行える DB2 データベースへの接続の数は、10 が最大です。 データベース・インスタンスに接続するには、TCP/IP モードを使用します。DB2 への接続時に DB2 エラー・メッセージ SQL1224N が出されるを参照してください。
- odbc.ini ファイルの最後のスタンザである [ODBC] スタンザを編集して、インストール済み DataDirect ODBC ドライバーの場所を指定します。
正しい
odbc.ini ファイルを編集しているかどうかを確認するには、以下のコマンドを使用してファイルを vi テキスト・エディターで開くことができます。
vi $ODBCINI
- InstallDir には、WebSphere Message
Broker のインストール場所を追加して、ODBC ディレクトリーへの完全修飾パスを完成させます。 この値を正しく指定しないと、ODBC 定義は機能しません。
- スタンザのその他のエントリーについては、すべて、サンプル odbc.ini ファイルに示されているデフォルト値を受け入れます。
例えば、
AIX では以下のようにします。
;##########################################
;###### Mandatory information stanza ######
;##########################################
[ODBC]
InstallDir=/usr/opt/IBM/mqsi/8.0.0.4/ODBC/V6.0
UseCursorLib=0
IANAAppCodePage=4
UNICODE=UTF-8
- odbc.ini ファイルの最初のスタンザである [ODBC Data Sources] スタンザを編集して、各データベースの DSN をリストします。
例えば、
AIX では以下のようにします。
;##########################################
;###### List of data sources stanza #######
;##########################################
[ODBC Data Sources]
DB2DB=IBM DB2 ODBC Driver
ORACLEDB=DataDirect 6.0 ODBC Oracle Wire Protocol
ORACLERACDB=DataDirect 6.0 ODBC Oracle RAC Wire Protocol
SYBASEDB=DataDirect 6.0 ODBC Sybase Wire Protocol
SYBASEDBUTF8=DataDirect 6.0 ODBC Sybase UTF8 Wire Protocol
SQLSERVERDB=DataDirect 6.0 ODBC SQL Server Wire Protocol
INFORMIXDB=IBM Informix ODBC Driver
SOLIDDB_DB=IBM Solid DB ODBC Driver
データベース・マネージャーに関係なく、odbc.ini ファイルに DSN をすべてリストしてください。 複数の DSN を同じデータベースに解決するように定義することができます。ただし、Oracle データベースでトランザクションのグローバル整合を使用している場合は、このオプションはデータ整合性の問題を引き起こす可能性があるため、使用しないでください。
- odbc.ini ファイル内の [ODBC Data Sources] スタンザにリストしたデータベースごとに、odbc.ini ファイルにデータ・ソース・スタンザを作成します。
スタンザ内のエントリーは、データベース・マネージャーによって異なります。 また、オペレーティング・システムの違いによっても、ドライバーへのファイル・パスなどの部分でいくらかの違いがあります。
- DB2 データベース・インスタンスの場合は、次のようになります。
- Linux (x86) の場合:
- Driver には、DB2 インストールの絶対パスを追加します。
- Description には、データベースについて意味のある説明を入力します。 このフィールドは情報専用で、接続には影響しません。
- Database には、DB2 別名を入力します。 データ・ソース名は、データベース別名と同じでなければなりません。 リモート DB2 データベースを使用している場合、この別名を正確なデータベースに解決するために、クライアント/サーバー接続をセットアップする必要があります。
同一の DB2 データベースを参照する複数のスタンザが必要な場合は、DB2 CATALOG コマンドを使用して、DB2 でエイリアスを作成する必要があります。 これらのエイリアスは、ODBCINI ファイル内で独自のスタンザを持つことができます。
DB2 にエイリアスを設定するために ODBCINI ファイルを使用することはできません。
詳しくは、DB2 資料を参照してください。
以下に例を示します。
# DB2 stanza
[MYDB2DB]
Driver=/opt/IBM/db2/V9.7/lib32/libdb2.so
Description=IBM DB2 ODBC Database
Database=MYDB2DB
- その他のプラットフォームの場合:
- Driver には、DB2 インストールの絶対パスを追加します。
- Description には、データベースについて意味のある説明を入力します。 このフィールドは情報専用で、接続には影響しません。
- Database には、DB2 別名を入力します。 データ・ソース名は、データベース別名と同じでなければなりません。 リモート DB2 データベースを使用している場合、この別名を正確なデータベースに解決するために、クライアント/サーバー接続をセットアップする必要があります。詳しくは、DB2 資料を参照してください。
同一の DB2 データベースを参照する複数のスタンザが必要な場合は、DB2 CATALOG コマンドを使用して、DB2 でエイリアスを作成する必要があります。 これらのエイリアスは、ODBCINI ファイル内で独自のスタンザを持つことができます。
DB2 にエイリアスを設定するために ODBCINI ファイルを使用することはできません。
例えば、AIX では以下のようにします。
;# DB2 stanza
[MYDB2DB]
DRIVER=/opt/IBM/db2/V9.7/lib64/db2o.o
Description=IBM DB2 ODBC Database
Database=MYDB2DB
- Oracle データベースの場合は、次のようになります。
- すべてのプラットフォーム:
- Driver には、WebSphere Message
Broker のインストール場所を追加して、サンプル odbc.ini ファイルに示されているドライバーへの完全修飾パスを完成させます。
- Description には、データベースについて意味のある説明を入力します。 このフィールドは情報専用で、接続には影響しません。
- HostName には、Oracle システムをホスティングするマシンの名前または IP アドレスを入力します。
- PortNumber には、HostName に指定したマシン上で Oracle サーバーが listen するポートの番号を入力します。
- ServiceName には、HostName に指定したシステム上で接続する Oracle サービス名を入力します。
- スタンザのその他のエントリーについては、すべて、サンプル odbc.ini ファイルに示されているデフォルト値を受け入れます。
例えば、
AIX では以下のようにします。
;# Oracle stanza
[MYORACLEDB]
Driver=/usr/opt/IBM/mqsi/8.0.0.4/ODBC/V6.0/lib/UKora24.so
Description=DataDirect ODBC 7.0 Oracle Wire Protocol
HostName=my-machine.hursley.ibm.com
PortNumber=1521
ServiceName=my-oracle-service
CatalogOptions=0
EnableStaticCursorsForLongData=0
ApplicationUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
WorkArounds=536870912
ProcedureRetResults=1
ColumnSizeAsCharacter=1
LoginTimeout=0
- Real Application Cluster を使用する Oracle データベースの場合は、次のようになります。
- すべてのプラットフォーム:
- Driver には、WebSphere Message
Broker のインストール場所を追加して、サンプル odbc.ini ファイルに示されているドライバーへの完全修飾パスを完成させます。
- Description には、データベースについて意味のある説明を入力します。 このフィールドは情報専用で、接続には影響しません。
- HostName には、1 次 (推奨) Oracle インスタンスをホスティングするマシンの名前または IP アドレスを入力します。
- PortNumber には、HostName に指定したマシン上で Oracle サーバーが listen するポートの番号を入力します。
- ServiceName には、HostName に指定したシステム上の、接続先にする Oracle Real Application Cluster サービス名を入力します。
- AlternateServers には、HostName で定義された 1 次ロケーションが使用できない場合に、このサービスで使用する代わりの場所のリストを指定します。 各場所の指定は、コロンで区切られた 3 つの部分で構成します。これらの値は、連続したストリングとして 1 行で入力します。この例のテキストは、読みやすくするために分割されています。
HostName=<Alternative host name>
:PortNumber=<Oracle listner port on alternative server>
:ServiceName=<Service name on the alternative server>
複数の AlternateServer を指定する場合は、追加の各場所の指定をコンマで区切ります。 新しいデータベース接続が必要な場合 (例えば、Oracle インスタンスのフェイルオーバーの後) には、必ず 1 次ロケーションが最初に試行されます。 ただし、1 次ロケーションが使用できない場合、ドライバーはリストに指定された代わりの場所を順番に試行します。
- スタンザのその他のエントリーについては、すべて、サンプル odbc.ini ファイルに示されているデフォルト値を受け入れます。
例えば、
AIX では以下のようにします。
;# Oracle Real Application Clusters stanza
[MYORACLERACDB]
Driver=/usr/opt/IBM/mqsi/8.0.0.4/ODBC/V6.0/lib/UKora24.so
Description=DataDirect 7.0 ODBC Oracle RAC Wire Protocol
HostName=my-primary-machine.hursley.ibm.com
PortNumber=1521
ServiceName=my-oracle-rac-service
;#This shows one alternate server definition. Add extra ones using a ',' to seperate each definition.
AlternateServers=(HostName=my-first-backup-machine.hursley.ibm.com:PortNumber=1521:ServiceName=my-oracle-rac-first-backup-service,HostName=my-second-backup-machine.hursley.ibm.com:PortNumber=1521:ServiceName=my-oracle-rac-second-backup-service)
CatalogOptions=0
EnableStaticCursorsForLongData=0
ApplicationUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
WorkArounds=536870912
ProcedureRetResults=1
ColumnSizeAsCharacter=1
LoginTimeout=0
Secure Socket Layer (SSL) を使用する Oracle データベースの場合は、次のようになります。
すべてのプラットフォーム:
- Driver には、WebSphere Message
Broker のインストール場所を追加して、サンプル odbc.ini ファイルに示されているドライバーへの完全修飾パスを完成させます。
- Description には、データベースについて意味のある説明を入力します。 このフィールドは情報専用で、接続には影響しません。
- HostName には、1 次 (推奨) Oracle インスタンスをホスティングするマシンの名前または IP アドレスを入力します。
- PortNumber には、HostName に指定したマシン上で Oracle サーバーが SSL 接続を listen するポートの番号を入力します。
- ServiceName には、HostName に指定したシステム上で接続する Oracle SSL サービス名を入力します。
- KeyPassword には、SSL 鍵パスワードを入力します。
- KeyStore には、SSL 鍵ストアの完全修飾名を入力します。
- KeyStorePassword には、SSL 鍵ストア・パスワードを入力します。
- TrustStore には、SSL トラストストアの完全修飾名を入力します。
- TrustStorePassword には、SSL トラストストア・パスワードを入力します。
- スタンザのその他のエントリーについては、すべて、サンプル odbc.ini ファイルに示されているデフォルト値を受け入れます。
例えば、
AIX では以下のようにします。
;# Oracle using SSL stanza
[MYORACLESSLDB]
Driver=/usr/opt/IBM/mqsi/8.0.0.4/ODBC/V7.0/lib/UKora26.so
Description=DataDirect 7.0 ODBC Oracle Wire Protocol
HostName=my-machine.hursley.ibm.com
PortNumber=2484
ServiceName=my-oracle-ssl-service
CatalogOptions=0
EnableStaticCursorsForLongData=0
ApplicationUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
WorkArounds=536870912
ProcedureRetResults=1
ColumnSizeAsCharacter=1
LoginTimeout=0
AuthenticationMethod=1
KeyPassword=my-password
KeyStore=/Development/ssl/my-store.p12
KeyStorePassword=my-password
TrustStore=/Development/ssl/my-store.p12
TrustStorePassword=my-password
ValidateServerCertificate=1

- Sybase データベースの場合は、次のようになります。
- Linux (System z® 以外のすべてのプラットフォームの場合:
- Driver には、WebSphere Message
Broker のインストール場所を追加して、サンプル odbc.ini ファイルに示されているドライバーへの完全修飾パスを完成させます。
- Description には、データベースについて意味のある説明を入力します。 このフィールドは情報専用で、接続には影響しません。
- Database には、デフォルトで接続するデータベースの名前を入力します。 値を指定しなかった場合、各ユーザーごとにシステム管理者によって定義されたデータベースがデフォルト値となります。
- NetworkAddress には、使用する Sybase ASE サーバーのネットワーク・アドレスを入力します (このアドレスは、ローカルおよびリモート・データベースで必須です)。 以下のように IP アドレスまたはサーバー名を指定します。
<Your Sybase server name or IP address>,<Your Sybase port number>
例えば、Sybaseserver,5000 のようになります。 199.226.224.34,5000 のように IP アドレスを直接指定することもできます。
interfaces という名前の Sybase インターフェース・ファイルからポート番号を確認できます。
- スタンザのその他のエントリーについては、すべて、サンプル odbc.ini ファイルに示されているデフォルト値を受け入れます。
例えば、
AIX では以下のようにします。
;# Sybase Stanza
[MYSYBASEDB]
Driver=/usr/opt/IBM/mqsi/8.0.0.4/ODBC/V6.0/lib/UKase24.so
Description=DataDirect 7.0 ODBC Sybase Wire Protocol
Database=SYBASEDB1
ApplicationUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
SelectMethod=0
NetworkAddress=my-machine.hursley.ibm.com:4100
SelectUserName=1
ColumnSizeAsCharacter=1
EnableSPColumnTypes=2
LoginTimeout=0
TimestampTruncationBehavior=1
XAConnOptBehavior=3
UNICODE UTF8 Sybase データ・ソースを使用する場合は、以下の行を Sybase スタンザの末尾に追加してください。Charset=UTF8
- SQL Server データベースへのリモート・アクセスの場合は、次のようになります。
- Linux (POWER® 以外のすべてのプラットフォームの場合:
- Driver には、WebSphere Message
Broker のインストール場所を追加して、サンプル odbc.ini に示されているドライバーへの完全修飾パスを完成させます。
- Description には、データベースに関する意味のある説明を入力します。
このフィールドは情報専用で、接続には影響しません。
- Address には、次のいずれかを行います。
- 次のように、接続先の SQLServer データベースを指定する IP アドレスまたはサーバー名およびポート番号を指定します。
<Your SQLServer machine name or IP address>,<Your SQLServer port number>
または
- 次のように、接続先の SQLServer データベースを指定する IP アドレスまたはサーバー名およびインスタンス名を指定します。
<Your SQLServer machine name or IP address>¥<Your SQLServer instance name>
インスタンス名が空白の場合は、<Your SQLServer machine name or IP address> を指定します。
- Database には、デフォルトで接続するデータベースの名前を入力します。
値を指定しなかった場合、各ユーザーごとにシステム管理者によって定義されたデータベースがデフォルト値となります。
- スタンザのその他のエントリーについては、すべて、サンプル odbc.ini ファイルに示されているデフォルト値を受け入れます。
例えば、
AIX では以下のようにします。
;# UNIX to SQLServer stanza
[MYSQLSERVERDB]
Driver=/usr/opt/IBM/mqsi/8.0.0.4/ODBC/V6.0/lib/UKmsss24.so
Description=DataDirect 7.0 ODBC SQL Server Wire Protocol
Address=my-machine.hursley.ibm.com:1433
AnsiNPW=Yes
Database=MYSQLSERVERDB
QuotedId=No
ColumnSizeAsCharacter=1
LoginTimeout=0
- Informix データベースの場合
-
- Linux (x86) の場合:
- Driver には、Informix クライアント・ライブラリーの絶対パスを追加します。
- Description には、データベースについて意味のある説明を入力します。 このフィールドは情報専用で、接続には影響しません。
- ServerName には、Informix IDS サーバーの名前を入力します。
- Database には、デフォルトで接続するデータベースの名前を入力します。 値を指定しなかった場合、各ユーザーごとにシステム管理者によって定義されたデータベースがデフォルト値となります。
以下に例を示します。
;# Informix Stanza
[MYINFORMIXDB]
Driver=/Informix/client/lib/cli/iclit09b.so
Description=IBM Informix ODBC Database
ServerName=my-machine
Database=MYDB
- その他のプラットフォームの場合:
- Driver には、Informix クライアント・ライブラリーの絶対パスを追加します。
- Description には、データベースについて意味のある説明を入力します。 このフィールドは情報専用で、接続には影響しません。
- ServerName には、Informix IDS サーバーの名前を入力します。
- Database には、デフォルトで接続するデータベースの名前を入力します。 値を指定しなかった場合、各ユーザーごとにシステム管理者によって定義されたデータベースがデフォルト値となります。
例えば、
AIX では以下のようにします。
;# Informix Stanza
[MYINFORMIXDB]
Driver=libinfWrapper.so
Description=IBM Informix ODBC Database
ServerName=my-machine
Database=MYDB
- solidDB データベースの場合:
- Linux (POWER および Linux (System z 以外のすべてのプラットフォームの場合:
クライアント・サイド
odbc.ini ファイル
- Driver には、solidDB クライアント・ライブラリーの絶対パスを追加します。
- Description には、データベースについて意味のある説明を入力します。 このフィールドは情報専用で、接続には影響しません。
- Database には、デフォルトで接続するデータベースの名前を入力します。 値を指定しなかった場合、各ユーザーごとにシステム管理者によって定義されたデータベースがデフォルト値となります。
例えば、
AIX では以下のようにします。
;# SolidDB Stanza
[SOLID_DB]
Driver=/opt/solidDB/bin/soca5x6465.so
Description=IBM Solid DB ODBC database
Database=SOLIDDB_DB
注: すべての追加情報は無視されます。
solid.ini file
- この構成ファイルは、環境変数 SOLIDDIR によって参照されるディレクトリーにあります。
- solid.ini マッピングは、(ODBCINI で定義された) データ・ソース名から solidDB 接続ストリングへのマッピングです。
- 接続ストリングの形式は、<ドライバーの論理名>
= <物理 solidDB 接続ストリング> となります。
- 物理接続ストリングによって、以下を指定します。
- プロトコル
- マシン名または IP アドレス
- 使用するポート番号
例えば、
AIX では以下のようにします。
[Data Sources]
SOLIDDB_DB=tcp my_aix_system 1964
サーバー・サイド
solid.ini file
- この構成ファイルは、solidDB のインストール・ディレクトリーにあります。
- Data Source をクライアント・サイドの solid.ini ファイルとして設定します。
- Listen をサーバーのリスナーが置かれている場所に設定します。
- CharPadding=yes および NumericPadding=yes を設定して、埋め込みをオンにします。
例えば、
AIX では以下のようにします。
[Data Sources]
SOLIDDB_DB=tcp my_aix_system 1964
[COM]
Listen=tcpip 1964
[SQL]
CharPadding=yes
NumericPadding=yes
- 以下に示すすべての関連 .ini ファイルの必要な部分すべてが編集済みであることを確認してください。
- odbc.ini ファイルの先頭にある [ODBC Data Source] スタンザ。
- odbc.ini ファイル内の各データ・ソースのスタンザ。
- odbcinst.ini ファイルの最後にある [ODBC] スタンザ。
- また、solidDB の場合、クライアント・サイドとサーバー・サイドの両方の solid.ini ファイル。
すべての部分が適正に構成されていないと、ODBC DSN は機能せず、ブローカーはデータベースに接続できません。

これで、
Linux および
UNIX 上のデータベース接続が構成されました。
mqsicvp コマンドを実行することにより、ODBC 環境が正しく構成されていることを確認できます。
詳しくは、mqsicvp コマンドを参照してください。