Caché SQL ゲートウェイと Caché リンク・テーブルは、外部データベースでのテーブルやデータに対するネイティブの Caché オブジェクトと SQL 機能を提供しています。開発者はこれらを使用して、ActiveX、Java、SQL、および Web アクセスなどの多彩な Caché の機能をフル活用することができます。
このドキュメントでは、リモート Oracle9i サーバからのテーブルやデータと作業を行うための、Caché SQL ゲートウェイと Caché リンク・テーブルを使用可能にする詳細な手順を説明しています。条件のリストも含まれます。
手順は、以下の 4 つに分類されます。
条件
これから説明する手順は以下のバージョンでテスト済みです (また、括弧内に示されている関連するバージョンでも問題なく動作します)。
構成パラメータは以下の通りです (表示される順序通りです)。
以下の 2 つのマシンがあります。
Oracle9i サーバの構成 (マシン A)
Oracle9i サーバは、リモート・システム (および SQL*Plus などのローカル・ツール) にアクセス可能な Oracle Listener を持つ必要があります。既定では、ユーザが Oracle を起動するときに Listener も起動します。Listener は Windows サービスとして実行され、“OracleTNSListener” などの名前を付けられます。Listener が動作中であるかを確認するには、[スタート] メニューの [設定] - [コントロール・パネル] - [管理ツール] を選択し [サービス] をクリックします。
[ORACLE_HOME]\network\admin ディレクトリに、以下のようなコードを含む LISTENER.ORA というファイルがあります。
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = serv1.intersystems.com)(PORT = 1521))
      )
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = db1.intersystems.com)
      (ORACLE_HOME = C:\oracle\ora92)
      (SID_NAME = db1)
    )
  )
[ORACLE_HOME]\network\admin ディレクトリには、以下のようなコードを含む TNSNAMES.ORA というファイルがあります。
DB1.INTERSYSTEMS.COM =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = serv1.intersystems.com)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = db1.intersystems.com)
    )
  )
Note:
PROTOCOLHOSTPORT のパラメータは、LISTENER.ORATNSNAMES.ORA にあるものと同じです。LISTENER.ORAGLOBAL_DBNAME パラメータは、TNSNAMES.ORASERVICE_NAME になります。
Oracle SQL*Plus ツールを使用して、この構成をテストします。
  1. [Oracle] メニューの [アプリケーション開発] から [SQL*Plus] を選択すると、3 つのテキスト・ボックスを持つ [ログオン] ダイアログ・ボックスが表示されます。
  2. 以下の値を入力します。
  3. [OK] ボタンをクリックします。
  4. SQL*Plus の出力は以下のようになります。
    SQL*Plus: Release 9.2.0.1.0 - Production on Wed Feb 26 11:59:48 2003
    
          Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
    
    
          Connected to:
          Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
          With the Partitioning, OLAP and Oracle Data Mining options
          JServer Release 9.2.0.1.0 - Production
     
          SQL> 
    
  5. クエリを使用して、接続性を確認します。
          SQL> SELECT ename, job FROM scott.emp WHERE JOB = ‘CLERK’;
    Note:
    行の最後のセミコロンは、クエリの実行に必要です。
  6. SQL*Plus の出力は以下のようになります。
          ENAME      JOB
          ---------- ---------
          SMITH      CLERK
          ADAMS      CLERK
          JAMES      CLERK
          MILLER     CLERK
    
これで、Oracle9i サーバの構成は完了です。
Oracle9i クライアントの構成 (マシン B)
TNSNAMES.ORA という名前のファイルは、[ORACLE_HOME]\network\admin ディレクトリにもあります。これには、以下のようなコードが含まれます。
DB1.INTERSYSTEMS.COM =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = serv1.intersystems.com)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = db1.intersystems.com)
    )
  )
Oracle SQL*Plus ツールを使用して、この構成をテストします。
  1. [Oracle] メニューの [アプリケーション開発] から [SQL*Plus] を選択すると、3 つのテキスト・ボックスを持つ [ログオン] ダイアログ・ボックスが表示されます。
  2. 以下の値を入力します。
  3. [OK] ボタンをクリックします。
  4. SQL*Plus の出力は以下のようになります。
    SQL*Plus: Release 9.2.0.1.0 - Production on Wed Feb 26 11:59:48 2003
    
          Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
    
    
          Connected to:
          Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
          With the Partitioning, OLAP and Oracle Data Mining options
          JServer Release 9.2.0.1.0 - Production
     
          SQL> 
    
  5. クエリを使用して、接続性を確認します。
          SQL> SELECT ename, job FROM scott.emp WHERE JOB = ‘CLERK’;
    
    Note:
    行の最後のセミコロンは、クエリの実行に必要です。
  6. SQL*Plus の出力は以下のようになります。
          ENAME      JOB
          ---------- ---------
          SMITH      CLERK
          ADAMS      CLERK
          JAMES      CLERK
          MILLER     CLERK
    
これで、Oracle9i クライアントの構成は完了です。
Microsoft Oracle ODBC ドライバの構成 (マシン B)
Caché 5 で Oracle9i にアクセスするには、Oracle9i 用の Microsoft Oracle ODBC ドライバを使用し、システム・データ・ソース名 (DSN) を作成する必要があります。
Microsoft Oracle ODBC ドライバは、基本的な Windows 2000 インストールの一部に含まれています。最新バージョンを取得するには、http://www.microsoft.com/data にアクセスして MDAC 2.7 をインストールします。ODBC ドライバのインストール後、マシンを再起動します。
システム DSN を作成する方法は以下の通りです。
  1. [ODBC データ・ソース・アドミニストレータ] を開きます。 —  [スタート] をクリックし、[設定][コントロール・パネル] から [管理ツール] を選択し、[データ・ソース] をクリックします。
  2. [システム DSN] タブをクリックします。
  3. [追加] をクリックします。
  4. [Microsoft ODBC for Oracle Driver] を選択し、[完了] をクリックします。
  5. 4 つのテキスト・ボックスを持つ [Microsoft ODBC for Oracle Setup] ダイアログ・ボックスが表示されます。
  6. 以下の値を入力します。
  7. [OK] ボタンをクリックします。
Microsoft Oracle ODBC ドライバ構成をテストするには、WinSQL などのサード・パーティ・ツールを使用します。http://www.indus-soft.com/winsql から、WinSQL Lite をダウンロードしたり、WinSQL を購入することができます。
WinSQL ツールは非常に便利ですが、ここで説明しているテストが目的であれば WinSQL Lite で十分です。
WinSQL を使用してテストを行う方法は以下の通りです。
  1. WinSQL、または WinSQL Lite を開始します。
  2. [File] をクリックします。
  3. [New Connection] をクリックします。
  4. 複数のテキスト・ボックスを持つ [ODBC Data Source] ダイアログ・ボックスが表示されます。
  5. 以下の値を入力します。
  6. [OK] ボタンをクリックします。
  7. [Query] タブをクリックします。
  8. 以下のクエリを入力します。
    SELECT ename, job FROM scott.emp WHERE JOB = ‘CLERK’
    Note:
    行の最後のセミコロンは、クエリの実行に必要 ありません
  9. ALT-X キーを押して、クエリを実行します。
  10. [Result] タブをクリックすると、以下が表示されます。
          ENAME      JOB       
          ---------- --------- 
          SMITH      CLERK     
          ADAMS      CLERK     
          JAMES      CLERK     
          MILLER     CLERK     
     
          4 Row(s) affected 
    
これで、Microsoft Oracle ODBC ドライバ構成が完了しました。
Caché SQL ゲートウェイの構成 (マシン B)
Caché SQL ゲートウェイで、リンク・テーブルを使用して ODBC 対応のリモート・データベースにアクセスすることができます。
ゲートウェイを構成する前に、リモート Oracle9i サーバへの接続を許可するために Caché サーバに対する Windows の認証を構成する必要があります。
ネットワーク・サーバのユーザ名とパスワードは、マシン A (Oracle サーバ) へのリモート・アクセスに有効であり、マシン B (Caché サーバ) での現在の Windows 認証コンテキストに一致する必要があります。
Caché SQL ゲートウェイの構成とテストのプロシージャは、以下の 4 つのセクションに分類されます。
Note:
このセクションで行われた変更を有効にするには、Caché を再起動する必要があります。
Windows 認証の構成
リモート Oracle9i サーバの認証を構成する手順は、以下の通りです。
  1. Caché 構成マネージャ を開きます。
  2. [詳細] タブをクリックします。
  3. [入力/出力] をダブルクリックします。
  4. [ネットワーク・サーバ・ユーザ名] をダブルクリックします。
  5. [プロパティ変更] ダイアログ・ボックスが表示されます。[ネットワーク・サーバ・ユーザ名] ボックスに netuser1 という値を入力し、[OK] をクリックします。
  6. [ネットワーク・サーバ・パスワード] をダブルクリックします。
  7. [プロパティ変更] ダイアログ・ボックスが表示されます。[ネットワーク・サーバ・パスワード] ボックスに netuser1pass という値を入力し、[OK] をクリックします。
  8. [OK] ボタンをクリックします。
  9. “すべての変更は、システムの再起動が必要です。” というメッセージが [構成マネージャの終了] ダイアログ・ボックスに表示されます。[再起動] をクリックします。
Caché SQL ゲートウェイの構成
Caché SQL ゲートウェイを構成する手順は、以下の通りです。
  1. Caché 構成マネージャ を開きます。
  2. [詳細] タブをクリックします。
  3. [SQL ゲートウェイ] をダブルクリックします。
  4. [追加] をクリックします。
  5. [新規 SQL ゲートウェイ接続の追加] ダイアログ・ボックスが表示されます。[接続名入力] ボックスに db1gateway という値を入力し、[OK] をクリックします。
  6. 必要な場合は “db1gateway” の左側の “+” 記号をクリックして展開し、設定を継続します。
  7. [DSN] をダブルクリックします。
  8. [プロパティ変更] ダイアログ・ボックスが表示されます。[DSN] ボックスに db1test という値を入力し、[OK] をクリックします。
  9. [ユーザ名] をダブルクリックします。
  10. [プロパティ変更] ダイアログ・ボックスが表示されます。[ユーザ名] ボックスに scott という値を入力し、[OK] をクリックします。
  11. [パスワード] をダブルクリックします。
  12. [プロパティ変更] ダイアログ・ボックスが表示されます。[パスワード] ボックスに tiger という値を入力し、[OK] をクリックします。
  13. [OK] ボタンをクリックします。
  14. “すべての変更は、再スタートさせずに有効にすることができます。” というメッセージが [構成マネージャの終了] ダイアログ・ボックスに表示されます。[有効に] をクリックします。
リンク・テーブルの追加
SQL ゲートウェイをテストし、リンク・テーブルを追加する手順は以下の通りです。
  1. Caché SQL マネージャ を開きます。
  2. [ファイル] メニューから、[ネームスペース変更] をクリックします。
  3. [Caché 接続マネージャ] ダイアログ・ボックスが表示されます。以下の値を入力します。
  4. [OK] ボタンをクリックします。
  5. Caché リンク・テーブル・ウィザードを開始するために、CTRL-T キーを押します。
  6. [次へ] をクリックします。
  7. 適切な SQL ゲートウェイ “db1gateway” を選択し、[次へ] をクリックします。
  8. 適切なテーブル “SCOTT.EMP” を選択し、[次へ] をクリックします。
  9. 適切なプロパティ (テーブル列) を選択し、[次へ] をクリックします。
  10. 必要に応じてプロパティ属性を編集し、[次へ] をクリックします。
  11. 必要に応じて [主キー][新規クラス名]、および [新規 Caché テーブル名] の値を編集し、[完了] をクリックします。
SQL ゲートウェイ接続とリンク・テーブルのテスト
SQL ゲートウェイ接続とリンク・テーブルをテストする手順は以下の通りです。
  1. [Caché SQL マネージャ]CTRL-Q キーを押してクエリ・ダイアログ・ボックスを呼び出します。
  2. 以下のクエリを入力します。
      SELECT ename, job FROM scott.emp WHERE JOB = ‘CLERK’
    Note:
    行の最後のセミコロンは、クエリの実行に必要 ありません
  3. ALT-E キーを押して、クエリを実行します。
  4. 結果は以下のように表示されます。
       ENAME          JOB       
    
    1  SMITH          CLERK
    2  ADAMS          CLERK     
    3  JAMES          CLERK     
    4  MILLER         CLERK     
    
これで、Caché SQL ゲートウェイ構成が完了しました。