ODBC 経由での SQL ゲートウェイへの接続
InterSystems IRIS では、外部データ・ソースへの接続の論理名である、SQL ゲートウェイ接続定義のリストが管理されます。各接続定義は、論理名 (InterSystems IRIS 内で使用するため)、データ・ソースへの接続情報、および接続を確立するときに使用するユーザ名とパスワードで構成されます。これらの接続は、%Library.sys_SQLConnection テーブルに格納されます。このテーブルのデータをエクスポートして、同じバージョンの InterSystems IRIS の別のインスタンスにインポートできます。
管理ポータルでの論理接続の定義
ODBC 準拠のデータ・ソースに接続を定義するには、以下の手順を実行します。
-
外部データベースの ODBC データ・ソース名 (DSN) を定義します (手順は、データベースのドキュメントで説明されています)。
-
管理ポータルで、System Administration > Configuration > Connectivity > SQL Gateway Connections ページに移動します。
-
[新規接続作成] をクリックします。
-
[ゲートウェイ接続] ページで、以下のフィールドの値を入力または選択します。
-
[接続の種類] で [ODBC] を選択します。
-
[接続名] — InterSystems IRIS 内で使用する、接続の識別子名を指定します。
-
[DSN を選択してください] — 前に作成した DSN を選択します。ODBC SQL ゲートウェイでは DSN を使用しない接続はサポートされていないため、DSN を使用する必要があります。
-
[ユーザ] — 必要に応じて、接続の確立時に既定値として機能するアカウントの名前を指定します。
-
[パスワード] — 既定のアカウントに関連付けられたパスワードを指定します。
例えば、一般的な接続は以下の値を使用します。
設定 値 [タイプ] ODBC [接続名] ConnectionODBC1 [DSN を選択してください] MyAccessPlayground [ユーザ] DBOwner [パスワード] DBPassword -
-
その他のオプションについては、このセクションの後半の “実装固有の ODBC 接続オプション” を参照してください。
-
オプションで、値が有効かどうかをテストします。テストするには、[テスト接続] ボタンをクリックします。画面に、前の手順で入力した値を、有効な接続で使用できるかどうかを示すメッセージが表示されます。
-
名前付き接続を作成するには、[保存] をクリックします。
-
[閉じる] をクリックします。
DSN を作成するための OS 固有の手順は、"InterSystems ODBC ドライバ の使用法" の以下のセクションを参照してください。
-
“Windows での ODBC データ・ソースの定義”
-
“UNIX® での ODBC データ・ソースの定義”
実装固有の ODBC 接続オプション
SQL ゲートウェイ接続を定義する前に、外部データベースとデータベース・ドライバの要件を理解しておく必要があります。これらの要件が接続の定義方法に影響を及ぼすためです。以下のオプションは、すべてのドライバ実装に適用されるわけではありません。
[レガシー outer join (Sybase) を有効に] オプションは、接続でレガシーな外部結合の使用を有効にするかどうかを制御します。レガシーな外部結合では、SQL-92 規格より前の SQL 構文が使用されます。外部データベースがこのような結合をサポートしているかどうかを確認するには、そのデータベースのドキュメントを参照してください。
[長いデータ長が必要] オプションは、接続でデータを結合する方法を制御します。このオプションの値は、データベース・ドライバの SQL_NEED_LONG_DATA_LEN 設定と一致している必要があります。この設定の値を確認するには、ODBC SQLGetInfo 関数を使用します。SQL_NEED_LONG_DATA_LEN が Y の場合は [長いデータ長が必要] オプションを選択し、それ以外の場合は選択を解除します。
[Unicode ストリームのサポート] オプションは、ストリームで接続が Unicode データをサポートするかどうかを制御します。これらは、LONGVARCHAR または LONGVARBINARY タイプのフィールドです。
-
Sybase の場合はこのチェック・ボックスのチェックを外します。Sybase データベースを使用している場合は、SQL ゲートウェイ経由でアクセスするすべてのフィールドに UTF-8 データのみが含まれるようにする必要があります。
-
その他のデータベースの場合は、このチェック・ボックスにチェックを付けます。
[デフォルトで区切り識別子を使用しない] オプションは、生成されたルーチン内の識別子の形式を制御します。
SQL 区切り識別子をサポートしないデータベースを使用する場合は、このチェック・ボックスにチェックを付けます。これには現在、以下のデータベースが含まれます。
-
Sybase
-
Informix
他のデータベースを使用する場合は、チェック・ボックスのチェックを外します。すべての SQL 識別子が区切られます。
[COALESCE 使用] オプションは、クエリにパラメータ (?) が含まれる場合のクエリの処理方法を制御します。これは、クエリ・パラメータが NULL の場合にのみ適用されます。
-
[COALESCE 使用] を選択しない場合に、クエリ・パラメータが NULL のとき、クエリは対応する値が NULL となっているレコードのみを返します。例えば、以下の形式のクエリを考えてみます。
SELECT ID, Name from LinkedTables.Table WHERE Name %STARTSWITH ?指定されたパラメータが NULL のとき、クエリは、値が NULL の名前を持つ行のみを返します。
-
[COALESCE 使用] を選択した場合、クエリは、COALESCE 関数呼び出し内の各パラメータを折り返します。これにより、NULL 値の処理方法が制御されます。
ここで、クエリ・パラメータが NULL のとき、クエリは基本的にはパラメータをワイルドカードとして扱います。前の例では、指定されたパラメータが NULL のとき、このクエリはすべての行を返します。これには、通常の ODBC クライアントの動作との一貫性があります。
このオプションを選択するかどうかは、ユーザの判断と COALESCE 関数が外部データベースでサポートされているかどうかによります。
外部データベースで COALESCE 関数がサポートされているかどうかを確認するには、そのデータベースのドキュメントを参照してください。
[複合 Row ID 内で変換] オプションでは、複合 ID を形成するときの文字以外の値の処理方法を制御します。データベースでサポートされているオプションを選択します。
-
[非文字値を変換しない] — このオプションでは、変換は実行されません。このオプションは、データベースで文字以外の値の文字値への連結がサポートされる場合にのみ適切です。
-
[CAST を使用する] — このオプションでは、CAST を使用して、文字以外の値が文字値に変換されます。
-
[{fn convert ...} を使用] — このオプションでは、{fn convert ...} を使用して、文字以外の値が文字値に変換されます。
すべての場合に、ID (または変換後の ID) の間に || を使用して ID が連結されます。
外部データベースでサポートされるオプションを確認するには、外部データベースのドキュメントを参照してください。
SQL ゲートウェイの ODBC データ・ソースとしての使用
InterSystems IRIS は、ODBC ドライバを備えており、ODBC データ・ソースとして使用できます。つまり、InterSystems IRIS インスタンスは、それ自体または別の InterSystems IRIS インスタンスに ODBC および SQL ゲートウェイ経由で接続できます。具体的には、この接続は、1 つの InterSystems IRIS のネームスペースから別の InterSystems IRIS のネームスペースへの接続です。この方法で接続する場合は、他の外部データベースに接続するときと同じように、使用するデータベース・ドライバに関する接続詳細が必要です。このセクションでは基本的な情報を示します。
別の InterSystems IRIS インスタンス (InterSystems IRIS_B) を ODBC データ・ソースとして使用するように InterSystems IRIS インスタンス (InterSystems IRIS_A) を構成するには、以下の操作を実行します。
-
InterSystems IRIS_A を実行しているマシン上で、使用する InterSystems IRIS_B のネームスペースを表す DSN を作成します
Tip:InterSystems IRIS をインストールするとインストーラによって自動的に DSN が作成されるため、InterSystems IRIS_B をこのマシンにインストールしたときに、既に適切な DSN が使用可能になっている場合があります。
-
InterSystems IRIS_A 内で、SQL ゲートウェイを使用して、DSN を使用する ODBC 接続を作成します。以下の詳細を指定します。
-
[タイプ] で [ODBC] を選択します。
-
[接続名] — InterSystems IRIS_A 内で使用する、接続の識別子を指定します。
-
[DSN を選択してください] — InterSystems IRIS_B で前に作成した DSN を選択します。
例えば、一般的な接続は以下の値を使用します。
設定 値 [タイプ] ODBC [接続名] TestConnection [DSN を選択してください] TestConnection Tip:[ユーザ] と [パスワード] の情報は DSN の一部なので、これらを指定する必要はありません。
-
-
[保存] をクリックします。
-
[閉じる] をクリックします。