はじめに : インターシステムズ・データベースへの ODBC 接続
インターシステムズは、ODBC 接続を介した InterSystems データベースへのアクセスを可能にする ODBC ドライバを提供しています。ODBC を使用するには、InterSystems ODBC クライアント・ドライバをインストールおよび構成し、InterSystems データベースを参照するように 1 つ以上の DSN を定義します。他の DSN を使用する場合と同様の方法で、InterSystems DSN をアプリケーションで使用できるようになります。
"Connecting Your Application to InterSystems IRISOpens in a new tab" には、サンプル・コードを含め、ODBC を使用して C++ アプリケーションから InterSystems IRIS サーバに接続する手順が示されています。
インストール
InterSystems データベースを ODBC データ・ソースとして使用するには、最初に、InterSystems ODBC クライアント・ドライバがインストールされていることを確認する必要があります。以下のオプションを使用できます。
-
インターシステムズの標準インストールでは、既定で ODBC ドライバ・コンポーネントがインストールされます ("インストール・ガイド" を参照してください)。
-
カスタム・インストールを実行する場合は、[SQL クライアントのみ] オプションを選択して、ODBC クライアント・ドライバのみをインストールできます。
-
InterSystems IRIS がシステムにインストールされていない場合は、Windows、Linux、または macOS 用のドライバを InterSystems IRIS ドライバのページOpens in a new tabからダウンロードできます。
-
その他のオプションは、一部の UNIX® ドライバ・マネージャで利用可能です (“UNIX® システムでの ODBC のインストールと検証” を参照)。
また、DSN (データ・ソース名) を定義して、InterSystems データベースへの接続に必要な情報を ODBC 対応アプリケーションに提供する必要もあります。各 InterSystems データベースは複数の DSN で表現でき、それぞれが複数の接続をサポートできます。これらのタスクを実行するための OS 固有の手順については、“Windows での ODBC データ・ソースの定義” または “UNIX®での ODBC データ・ソースの定義” を参照してください。
Windows では、InterSystems IRIS ID に大型の数値 (BigInt) データ型を使用するため、ODBC クライアント・アプリケーションは大型の数値をサポートしている必要があります。例えば、ビルド 16.0.7812 より前の Access 2016 のインスタンスでは、行データは #Deleted と表示されます。これは、現在のデータベースの Access の設定で大型の数値のサポートがオンになっていない場合にも発生する場合があります。
サポートされている ODBC ドライバ・マネージャ
InterSystems ODBC ドライバは、ODBC 3.5 に準拠しています。
InterSystems ODBC は、以下の ODBC ドライバ・マネージャをサポートしています。
-
Windows の場合 : オペレーティング・システム付属の Microsoft Windows ドライバ・マネージャ
-
UNIX® の場合 : iODBC ドライバ・マネージャ (Unicode の ODBC API と 8 ビットの ODBC API で使用) および unixODBC ドライバ・マネージャ (8 ビットの ODBC API で使用)詳細は、“UNIX® システムでの ODBC のインストールと検証” を参照してください。
他のドライバ・マネージャに関する質問については、インターシステムズのサポート窓口 (WRC)Opens in a new tab までお問い合わせください。
インターシステムズでは、これらのドライバ・マネージャと連携する Python および Node.js のオープン・ソース・モジュールもサポートしており、言語固有の ODBC インタフェースを提供しています。“Python および Node.js 用の ODBC サポート” の以下のセクションを参照してください。
サポートされているデータベースなどの詳細は、"インターシステムズのサポート対象プラットフォーム" を参照してください。
ODBC の概要
ODBC システムは、以下のコンポーネントで構成されています。
-
クライアント・アプリケーション — Microsoft の ODBC API に従って呼び出しを実行するアプリケーション。ODBC 呼び出しによってクライアントからデータ・ソースへの接続が確立します (“ODBC 接続の詳細” のセクションを参照)。
-
ODBC ドライバ・マネージャ — ODBC API を使用してアプリケーションからの呼び出しを受け取り、これを登録済みの ODBC クライアント・ドライバに渡します。また、ドライバ・マネージャは、クライアント・アプリケーションがクライアント・ドライバと、さらにはデータベース・サーバと通信するために、必要なタスクを実行します。
-
ODBC クライアント・ドライバ — データベース固有のアプリケーションで、ODBC ドライバ・マネージャを通してクライアント・アプリケーションからの呼び出しを受け取り、データベース・サーバとの通信を提供します。また、アプリケーションから要求された ODBC 関連データ変換を実行します。
-
データベース・サーバ — クライアント・アプリケーションからの呼び出しを最終的に受け取る、実際のデータベース。これは、呼び出し元であるクライアント・ドライバと同じマシンまたは異なるマシンのいずれに置いてもかまいません。
-
初期化ファイル — ドライバ・マネージャの一連の構成情報。オペレーティング・システムによっては、クライアント・ドライバ情報を含むものもあります。UNIX® では odbc.ini という実際のファイルです。Windows ではレジストリ・エントリです。
特定のベンダのデータベースでは、ベンダからそのプラットフォーム専用のバージョンの ODBC クライアント・ドライバが提供されている場合があります。例えば、Oracle からは、Oracle データベースを Windows で使用するための専用の ODBC ドライバが提供されています。場合によっては、このようなドライバを使用するのが最適です。ベンダのドライバは、データベースの機能を最大限に活用してパフォーマンスの最適化または信頼性の向上を実現しているためです。
ODBC 接続の詳細
ODBC を介してデータベースに接続する場合は、通常、以下の接続情報を提供する必要があります。
-
使用する ODBC クライアント・ドライバに関する情報。
-
データベースの検索およびアクセスに関する情報。例えば、データベースが存在するサーバや、データベース接続に使用されるポートなどの情報が含まれます。必要な情報は、該当するデータベース・テクノロジに応じて異なります。
-
データベースがパスワードによって保護されている場合は、データベースにアクセスするためのログイン資格情報。
ほとんどの場合、この情報は DSN に格納され、これはクライアント・アプリケーションで使用するための論理名を持ちます。DSN には、ログイン資格情報が含まれている場合も、含まれていない場合もあります。またログイン資格情報は、データベース初期化ファイルに格納することも、一切格納しないこともできます。
DSN は ODBC ドライバ・マネージャに登録する必要があります。
接続は、以下のように確立されます。
-
クライアント・アプリケーションには、ODBC 呼び出しが含まれ、特定の DSN へ接続しようと試みます。クライアント・アプリケーションにリンクされている ODBC ドライバ・マネージャが、その呼び出しを受け取ります。
-
ODBC ドライバ・マネージャは、初期化ファイルを読み取って ODBC クライアント・ドライバの位置を取得し、クライアント・ドライバをメモリにロードします。
-
ODBC クライアント・ドライバがメモリにロードされると、ODBC 初期化ファイルを使用して DSN への接続情報やその他の情報の位置を確認します。この情報を使用して、クライアント・ドライバは指定されたデータベースに接続します。
-
接続を確立した後、クライアント・ドライバはデータベース・サーバとの通信を管理します。
DSN パスワードが指定される場合、これらはプレーン・テキストで保存されます。そのため、DSN の作成時にパスワードがホスト・マシンに保存される場合、このパスワードが他のユーザに見える可能性があります。インターシステムズは、パスワードの保存はお勧めしていません。これは、リスク評価が行われた場合にのみ行うべきです。