UNIX® システムでの ODBC のインストールと検証
この章では、UNIX® および関連するオペレーティング・システムでの ODBC のインストールと検証の詳細について説明します。以下のトピックについて説明します。
-
InterSystems ODBC 構成のテスト — InterSystems ODBC ドライバおよびドライバ・マネージャが正しくインストールされ、構成されていることの確認。
-
共有オブジェクトの依存関係に関するトラブルシューティング — 共有オブジェクトの依存関係の確認方法。
-
スタンドアロン・インストールの実行 — Caché ODBC クライアント・ドライバとサポートされるドライバ・マネージャの UNIX® でのインストール。
-
iODBC のカスタム・インストールと構成 — iODBC ドライバ・マネージャのインストールと構成、および iODBC のための PHP の構成。
-
キー・ファイル名 — インストールされる重要なコンポーネントの具体的なファイル名。
サンプルの ODBC 初期化ファイルやテスト・ファイルには、_SYSTEM/SYS または _system/sys のユーザ名とパスワードのペアが、暗号化されていない形式で含まれる場合があります。このデータおよび _SYSTEM アカウントは導入前に削除しておくことをお勧めします。
InterSystems ODBC 構成のテスト
ODBC 構成をテストして、InterSystems ODBC ドライバおよびドライバ・マネージャが正しくインストールされ、構成されていることを確認する必要があります。unixODBCドライバ・マネージャで行われるテストに加えて、InterSystems ODBC ドライバの特定のテストを行う、InterSystems 選択テスト・プログラムを実行できます。このプログラムでは、DSN を指定し、その接続で SELECT 文を実行することができます。
また、SQL ゲートウェイ用の特定のテスト・プログラムも用意されています。詳細は、"SQL ゲートウェイ" の章の “UNIX® のゲートウェイ・テスト・プログラムの使用法” を参照してください。
選択テスト・プログラムの使用法
InterSystems 選択テスト・プログラムは、install-dir /dev/odbc/samples/select ディレクトリのファイルで構成されています。
-
select.sh — テストを実行するシェル・スクリプト。このスクリプトは、(ODBC 初期化ファイルを検出できるよう) ODBCINI 環境変数を定義し、ドライバ・マネージャの検索パスを設定して、以下の SELECT 文を実行します。
select * from sample.person where ID < 11
その後、sampleodbc という名前の DSN を使用して select プログラムを実行します。この DSN はサンプルの ODBC 初期化ファイルに定義されており、InterSystems SAMPLES ネームスペースを指します。
-
select — select.c から生成された実行可能ファイル。iODBC ドライバ・マネージャにリンクされているサンプルの ODBC プログラムです。
-
select.c — 選択プログラムのソース・コード。このソースは、ユーザがソース・コードを独自に変更してコンパイルし、プログラムをリンクするために用意されています。
選択テスト用シェル・スクリプトの変更
構成によっては、シェル・スクリプト (select.sh) を変更する必要がある場合があります。
-
シェル・スクリプトは、Caché ログイン・モードと非認証モード、および最小または通常のセキュリティ・インストールで機能するように設計されています。これ以外の場合に、シェル・スクリプトの変更が必要になることがあります。
-
既定では、シェル・スクリプトは iODBC ドライバ・マネージャの検索パスを設定します。unixODBC ドライバ・マネージャを使用する場合や、iODBC を既定以外の方法でインストールする場合は、この設定を変更します。
-
このスクリプトでは、ODBC 初期化ファイルが install-dir/mgr ディレクトリにあることを前提としています。必要に応じて、使用しているシステムの ODBC 初期化ファイルを検索するようスクリプトを修正する必要があります。
選択テストの実行
以下の手順でテスト・プログラムを実行します。
-
install-dir/dev/odbc/samples/select ディレクトリに移動します。
-
以下を入力して、テスト・スクリプトを実行します。
./select dsn
dsn は、テストで使用する DSN の名前です。
このテストは以下のように機能します。
-
シェル・スクリプトで select プログラムを呼び出します。
-
select プログラムがドライバ・マネージャにリンクされ、ODBC 初期化ファイルを読み取って、指定された DSN の接続情報を取得します。
-
ドライバ・マネージャは、InterSystems ODBC クライアント・ドライバの位置を確定し、これをメモリにロードします。
-
その後、クライアント・ドライバは、ODBC 初期化ファイルに指定されたポートへの TCP/IP 接続を確立し、指定されたネームスペースに ODBC 初期化ファイルの DSN 定義を使用して接続されます。
-
いったん接続が確立されると、クライアント・アプリケーションは InterSystems データベースに対して SELECT 文を実行します。
スタンドアロン・インストールの実行
既定では、標準インストールにより、Caché で完全な ODBC インストールが実行されます。カスタム・インストール ("Caché インストール・ガイド" を参照) を実行する場合は、“SQL クライアント専用” のオプションを選択して、クライアント・アクセス・コンポーネント (ODBC クライアント・ドライバ) のみをインストールできます。
ただし、Caché には、Caché ODBC のスタンドアロン・インストーラも用意されています。このインストーラを使用するには、以下の手順に従います。
-
クライアントをインストールするディレクトリ (/usr/cacheodbc/ など) を作成します。
-
該当する圧縮された tar ファイルを、Caché DVD から作成したディレクトリにコピーします。
Caché DVD の ./dist/ODBC/ ディレクトリには、以下のような名前を持つ、圧縮された tar ファイルが格納されています。
ODBC-release-code-platform.tar.Z
release-code はリリース固有のコード (Caché のバージョンやリリースによって異なります)、platform は ODBC クライアントが稼動するオペレーティング・システムを指定します。
-
作成したディレクトリに移動して、以下のように .tar ファイルを手動で解凍します。
# gunzip ODBC-release-code-platform.tar.Z # tar xvf ODBC-release-code-platform.tar
この処理により bin および dev ディレクトリが作成され、一連のファイルがインストールされます。
-
作成したディレクトリにある ODBCInstall プログラムを実行します。このプログラムは、いくつかのサンプルのスクリプトを作成し、mgr ディレクトリに cacheodbc.ini を構成します。次に例を示します。
# pwd /usr/cacheodbc # ./ODBCInstall
一部のリリースでは、./dist/ODBC/ ディレクトリに、必要なファイルを識別するプラットフォーム名を表示する以下のコマンドが含まれています。
# ./cplatname identify
必要のないリリースでは、このコマンドは存在しません。
iODBC のカスタム・インストールと構成
カスタム化された条件のもとで運用するために、独自の iODBC ドライバ・マネージャを構築することが可能です。iODBC 実行可能ファイルおよびインクルード・ファイルは、install-dir/dev/odbc/redist/iodbc/ にあります。これらのディレクトリを使用してアプリケーションを構築するには、LD_LIBRARY_PATH (AIX® では LIBPATH) とインクルード・パスを設定する必要があります。
iODBC ドライバ・マネージャをカスタマイズすることもできます。iODBC の Web サイト (www.iodbc.orgOpens in a new tab) からソースをダウンロードして、表示される指示に従います。
iODBC を使用した PHP の構成
InterSystems ODBC 機能は PHP (PHP : Hypertext Processor) と組み合わせて使用できます。PHP は、動的に生成されるページを作成するスクリプト言語です。そのプロセスは、以下のとおりです。
-
インストールを実行するマシンで、root 特権を取得します。
-
iODBC ドライバ・マネージャをインストールします。以下はその方法です。
-
キットをダウンロードします。
-
この章で前述したように、標準インストールと構成を行います。
-
iODBC の Web サイト (www.iodbc.orgOpens in a new tab) の iODBC+PHP HOWTOOpens in a new tab ドキュメントの説明に従って、ドライバ・マネージャを PHP で使用するように構成します。
既定の PHP 構成のセキュリティ保護のため、iODBC PHP の例では、LD_LIBRARY_PATH (AIX® では LIBPATH) はセットされていない点に注意してください。また、LD_LIBRARY_PATH を使用しないでこれを登録するには、libiodbc.so を /usr/lib にコピーし、ldconfig を実行します。
-
-
PHP ソース・キットを http://www.php.netOpens in a new tab からダウンロードし、解凍します。
-
Apache HTTP サーバ・ソース・キットを http://httpd.apache.org/Opens in a new tab からダウンロードし、解凍します。
-
PHP を構築し、インストールします。
-
Apache HTTP サーバを構築し、インストール後、起動します。
-
Apache ルート・ディレクトリの info.php を使用して PHP と Web サーバをテストします。Apache ルート・ディレクトリは、Apache 構成ファイルで指定されています (通常 httpd.conf)。この URL は、http://127.0.0.1/info.php です。
-
$HOME 環境変数が定義されていない場合は、InterSystems 特有の初期化ファイル cacheodbc.ini を /etc/odbc.ini にコピーします。Apache Web サーバでは、この場所を指定した方が好結果が得られます。
-
libcacheodbc.so クライアント・ドライバ・ファイルを構成し、テストします。
-
InterSystems ODBC キットから sample.php ファイルを Apache ルート・ディレクトリ (info.php が存在するディレクトリ) にコピーし、その InterSystems インストール・ディレクトリの場所を、使用しているマシンでの InterSystems インストール・ディレクトリの場所に合わせて調整します。
-
その後、sample.php プログラムを実行します。このプログラムは、ブラウザで http://127.0.0.1/sample.php を指すことにより、SAMPLES ネームスペースを使用します。
キー・ファイル名
構成のニーズによっては、インストールされているコンポーネントの特定のファイル名を知っておくと便利な場合があります。次のリストでは、install-dir は InterSystems インストール・ディレクトリ (ご使用のシステムで $SYSTEM.Util.InstallDirectory() が返すパス) です。
install-dir/bin/ ディレクトリには、以下のドライバ・マネージャが格納されています。
-
libiodbc.so — iODBC ドライバ・マネージャです。8 ビット ODBC API と Unicode ODBC API の両方をサポートします。
-
libodbc.so — unixODBC ドライバ・マネージャです (ODBC 8 ビット API で使用)。
ODBC 仕様のリリース間で、SQLLen や SQLULen などのさまざまなデータ型が 32 ビット値から 64 ビット値へと変わりました。これらの値は、iODBC ではこれまでも常に 64 ビットでしたが、unixODBC では 32 ビットから 64 ビットに変わりました。unixODBC バージョン 2.2.14 以降、既定のビルドでは 64 ビットの整数値が使用されます。InterSystems ドライバは、32 ビット unixODBC と 64 ビット unixODBC の両方で使用できます。
InterSystems ODBC クライアント・ドライバは、ODBC 2.5 と ODBC 3.5 の両方に向けて用意されています。ODBC 3.5 バージョンは、3.5 の要求を従来の 2.5 に自動的に変換するため、ほとんどの場合どちらのドライバも使用できます。install-dir/bin/ ディレクトリには、以下のバージョン (*.so または *.sl) が格納されています。
-
libcacheodbc — 8 ビット ODBC 2.5 の既定のドライバです。
-
libcacheodbc35 — 8 ビット ODBC 3.5 をサポートします。
-
libcacheodbciw — Unicode ODBC 2.5 をサポートします。
-
libcacheodbciw35 — Unicode ODBC 3.5 をサポートします。
-
libcacheodbciw.dylib — MAC OS 用の Unicode ODBC をサポートします。
-
libcacheodbcu. — 8 ビット ODBC 2.5 の既定のドライバです。
-
libcacheodbcu35 — 8 ビット ODBC 3.5 をサポートします。
-
libcacheodbcur64 — 64 ビット unixODBC 用に 8 ビット ODBC 2.5 をサポートします。
-
libcacheodbcur6435 — 64 ビット unixODBC 用に 8 ビット ODBC 3.5 をサポートします。
install-dir/bin/ ディレクトリには、InterSystems SQL ゲートウェイによって使用される以下のバージョンの共有オブジェクトが格納されています。これにより、Caché から他の ODBC クライアント・ドライバへの接続が可能になります。スタンドアロン・インストールでは、これらのファイルはインストールされません。
-
cgate.so — 8 ビット ODBC をサポートします。
-
cgateiw.so — Unicode ODBC をサポートします。
-
cgateu.so — 8 ビット ODBC をサポートします。
-
cgateur64.so — 64 ビット unixODBC 用に 8 ビット ODBC をサポートします。
install-dir/mgr/cacheodbc.ini ファイルは、サンプルの ODBC 初期化ファイルです。
テスト・プログラム用ファイルについては、“InterSystems ODBC 構成のテスト” に説明があります。