Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

UNIX® システムでの ODBC のインストールと検証

この章では、UNIX® および関連するオペレーティング・システムでの ODBC のインストールと検証の詳細について説明します。以下のトピックについて説明します。

Note:

サンプルの ODBC 初期化ファイルやテスト・ファイルには、_SYSTEM/SYS または _system/sys のユーザ名とパスワードのペアが、暗号化されていない形式で含まれる場合があります。このデータおよび _SYSTEM アカウントは導入前に削除しておくことをお勧めします。

InterSystems ODBC 構成のテスト

ODBC 構成をテストして、InterSystems ODBC ドライバおよびドライバ・マネージャが正しくインストールされ、構成されていることを確認する必要があります。unixODBCドライバ・マネージャで行われるテストに加えて、InterSystems ODBC ドライバの特定のテストを行う、InterSystems 選択テスト・プログラムを実行できます。このプログラムでは、DSN を指定し、その接続で SELECT 文を実行することができます。

Note:

また、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 ネームスペースを指します。

  • selectselect.c から生成された実行可能ファイル。iODBC ドライバ・マネージャにリンクされているサンプルの ODBC プログラムです。

  • select.c — 選択プログラムのソース・コード。このソースは、ユーザがソース・コードを独自に変更してコンパイルし、プログラムをリンクするために用意されています。

選択テスト用シェル・スクリプトの変更

構成によっては、シェル・スクリプト (select.sh) を変更する必要がある場合があります。

  • シェル・スクリプトは、Caché ログイン・モードと非認証モード、および最小または通常のセキュリティ・インストールで機能するように設計されています。これ以外の場合に、シェル・スクリプトの変更が必要になることがあります。

  • 既定では、シェル・スクリプトは iODBC ドライバ・マネージャの検索パスを設定します。unixODBC ドライバ・マネージャを使用する場合や、iODBC を既定以外の方法でインストールする場合は、この設定を変更します。

  • このスクリプトでは、ODBC 初期化ファイルが install-dir/mgr ディレクトリにあることを前提としています。必要に応じて、使用しているシステムの ODBC 初期化ファイルを検索するようスクリプトを修正する必要があります。

選択テストの実行

以下の手順でテスト・プログラムを実行します。

  1. install-dir/dev/odbc/samples/select ディレクトリに移動します。

  2. 以下を入力して、テスト・スクリプトを実行します。

    ./select dsn
    
    

    dsn は、テストで使用する DSN の名前です。

このテストは以下のように機能します。

  1. シェル・スクリプトで select プログラムを呼び出します。

  2. select プログラムがドライバ・マネージャにリンクされ、ODBC 初期化ファイルを読み取って、指定された DSN の接続情報を取得します。

  3. ドライバ・マネージャは、InterSystems ODBC クライアント・ドライバの位置を確定し、これをメモリにロードします。

  4. その後、クライアント・ドライバは、ODBC 初期化ファイルに指定されたポートへの TCP/IP 接続を確立し、指定されたネームスペースに ODBC 初期化ファイルの DSN 定義を使用して接続されます。

  5. いったん接続が確立されると、クライアント・アプリケーションは InterSystems データベースに対して SELECT 文を実行します。

共有オブジェクトの依存関係に関するトラブルシューティング

インストールを実行したら、他の共有オブジェクトについて依存関係を確認し、すべての問題を修正する必要があります。そのプロセスは、以下のとおりです。

  1. 適切なコマンドを使用して、InterSystems ODBC ドライバの動的な依存関係をリストします。

    例えば、Solaris やその他のプラットフォームでは、ldd コマンドを使用します。

    # ldd install-dir/bin/libcacheodbc.so
    

    ここで install-dir は InterSystems のインストール先ディレクトリです。依存関係が検出されなかった場合は、以下のようなメッセージが表示されます。

    libstlport_gcc.so => not found
    
  2. エラーが発生しない場合は、すべての依存関係は有効です。エラーが発生した場合は、以下のコマンドを実行して、現在のディレクトリ内を見るために共有オブジェクト・ローダを強制します。

    # sh
    # cd install-dir/bin
    # LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH
    # export LD_LIBRARY_PATH
    
    

    sh コマンドは、Bourne シェルを起動し、cd コマンドは適切なディレクトリに変更し、export コマンドは共有オブジェクトを検索するパスを設定します。

    ただし、AIX® では、LD_LIBRARY_PATH の代わりに LIBPATH を使用します。

  3. 現在のディレクトリにパスを追加した後、再度 ldd を実行して、欠けている依存関係がないかどうかを確認します。共有オブジェクトがひとつも見つからない場合は、ODBC クライアント・ドライバと同じディレクトリにそれらを追加してください。

スタンドアロン・インストールの実行

既定では、標準インストールにより、Caché で完全な ODBC インストールが実行されます。カスタム・インストール ("Caché インストール・ガイド" を参照) を実行する場合は、“SQL クライアント専用” のオプションを選択して、クライアント・アクセス・コンポーネント (ODBC クライアント・ドライバ) のみをインストールできます。

ただし、Caché には、Caché ODBC のスタンドアロン・インストーラも用意されています。このインストーラを使用するには、以下の手順に従います。

  1. クライアントをインストールするディレクトリ (/usr/cacheodbc/ など) を作成します。

  2. 該当する圧縮された tar ファイルを、Caché DVD から作成したディレクトリにコピーします。

    Caché DVD の ./dist/ODBC/ ディレクトリには、以下のような名前を持つ、圧縮された tar ファイルが格納されています。

    ODBC-release-code-platform.tar.Z
    

    release-code はリリース固有のコード (Caché のバージョンやリリースによって異なります)、platform は ODBC クライアントが稼動するオペレーティング・システムを指定します。

  3. 作成したディレクトリに移動して、以下のように .tar ファイルを手動で解凍します。

    # gunzip ODBC-release-code-platform.tar.Z
    # tar xvf ODBC-release-code-platform.tar
    
    

    この処理により bin および dev ディレクトリが作成され、一連のファイルがインストールされます。

  4. 作成したディレクトリにある ODBCInstall プログラムを実行します。このプログラムは、いくつかのサンプルのスクリプトを作成し、mgr ディレクトリに cacheodbc.ini を構成します。次に例を示します。

    # pwd
    /usr/cacheodbc
    # ./ODBCInstall
    
    
Note:
正しいプラットフォーム名の識別

一部のリリースでは、./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 は、動的に生成されるページを作成するスクリプト言語です。そのプロセスは、以下のとおりです。

  1. インストールを実行するマシンで、root 特権を取得します。

  2. iODBC ドライバ・マネージャをインストールします。以下はその方法です。

    1. キットをダウンロードします。

    2. この章で前述したように、標準インストールと構成を行います。

    3. 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 を実行します。

  3. PHP ソース・キットを http://www.php.netOpens in a new tab からダウンロードし、解凍します。

  4. Apache HTTP サーバ・ソース・キットを http://httpd.apache.org/Opens in a new tab からダウンロードし、解凍します。

  5. PHP を構築し、インストールします。

  6. Apache HTTP サーバを構築し、インストール後、起動します。

  7. Apache ルート・ディレクトリの info.php を使用して PHP と Web サーバをテストします。Apache ルート・ディレクトリは、Apache 構成ファイルで指定されています (通常 httpd.conf)。この URL は、http://127.0.0.1/info.php です。

  8. $HOME 環境変数が定義されていない場合は、InterSystems 特有の初期化ファイル cacheodbc.ini/etc/odbc.ini にコピーします。Apache Web サーバでは、この場所を指定した方が好結果が得られます。

  9. libcacheodbc.so クライアント・ドライバ・ファイルを構成し、テストします。

  10. InterSystems ODBC キットから sample.php ファイルを Apache ルート・ディレクトリ (info.php が存在するディレクトリ) にコピーし、その InterSystems インストール・ディレクトリの場所を、使用しているマシンでの InterSystems インストール・ディレクトリの場所に合わせて調整します。

  11. その後、sample.php プログラムを実行します。このプログラムは、ブラウザで http://127.0.0.1/sample.php を指すことにより、SAMPLES ネームスペースを使用します。

キー・ファイル名

構成のニーズによっては、インストールされているコンポーネントの特定のファイル名を知っておくと便利な場合があります。次のリストでは、install-dir は InterSystems インストール・ディレクトリ (ご使用のシステムで $SYSTEM.Util.InstallDirectory() が返すパス) です。

ODBC ドライバ・マネージャ

install-dir/bin/ ディレクトリには、以下のドライバ・マネージャが格納されています。

  • libiodbc.so — iODBC ドライバ・マネージャです。8 ビット ODBC API と Unicode ODBC API の両方をサポートします。

  • libodbc.so — unixODBC ドライバ・マネージャです (ODBC 8 ビット API で使用)。

Note:
64 ビット UNIX® プラットフォーム上の ODBC

ODBC 仕様のリリース間で、SQLLenSQLULen などのさまざまなデータ型が 32 ビット値から 64 ビット値へと変わりました。これらの値は、iODBC ではこれまでも常に 64 ビットでしたが、unixODBC では 32 ビットから 64 ビットに変わりました。unixODBC バージョン 2.2.14 以降、既定のビルドでは 64 ビットの整数値が使用されます。InterSystems ドライバは、32 ビット unixODBC と 64 ビット unixODBC の両方で使用できます。

InterSystems ODBC クライアント・ドライバ

InterSystems ODBC クライアント・ドライバは、ODBC 2.5 と ODBC 3.5 の両方に向けて用意されています。ODBC 3.5 バージョンは、3.5 の要求を従来の 2.5 に自動的に変換するため、ほとんどの場合どちらのドライバも使用できます。install-dir/bin/ ディレクトリには、以下のバージョン (*.so または *.sl) が格納されています。

iODBC 準拠のドライバ
  • 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 をサポートします。

unixODBC 準拠のドライバ
  • libcacheodbcu. — 8 ビット ODBC 2.5 の既定のドライバです。

  • libcacheodbcu35 — 8 ビット ODBC 3.5 をサポートします。

  • libcacheodbcur64 — 64 ビット unixODBC 用に 8 ビット ODBC 2.5 をサポートします。

  • libcacheodbcur6435 — 64 ビット unixODBC 用に 8 ビット ODBC 3.5 をサポートします。

InterSystems SQL ゲートウェイ・ドライバ

install-dir/bin/ ディレクトリには、InterSystems SQL ゲートウェイによって使用される以下のバージョンの共有オブジェクトが格納されています。これにより、Caché から他の ODBC クライアント・ドライバへの接続が可能になります。スタンドアロン・インストールでは、これらのファイルはインストールされません。

iODBC にリンクされている
  • cgate.so — 8 ビット ODBC をサポートします。

  • cgateiw.so — Unicode ODBC をサポートします。

unixODBC にリンクされている
  • cgateu.so — 8 ビット ODBC をサポートします。

  • cgateur64.so — 64 ビット unixODBC 用に 8 ビット ODBC をサポートします。

その他のファイル

install-dir/mgr/cacheodbc.ini ファイルは、サンプルの ODBC 初期化ファイルです。

テスト・プログラム用ファイルについては、“InterSystems ODBC 構成のテスト” に説明があります。

FeedbackOpens in a new tab