Oracle Transparent Gateway for Microsoft SQL Server管理者ガイド 10gリリース2(10.2)for Microsoft Windows(32-bit) B25367-01 |
|
戻る |
次へ |
次のMicrosoft SQL Serverのケース・スタディでは、Oracle Transparent Gatewayの機能の一部について、説明します。配布CD-ROMにあるデモンストレーション・ファイルを使用すると、ゲートウェイが正常にインストールされ、機能していることが確認できます。
デモンストレーション・ファイルは、ゲートウェイのインストール時に自動的にディスクにコピーされます。
この章の内容は次のとおりです。
ケースの内容は次のとおりです。
単純な問合せ(ケース1)
より複雑な問合せ(ケース2)
Microsoft SQL Server表の結合(ケース3)
書込み機能(ケース4)
データ・ディクショナリの問合せ(ケース5)
パススルー機能(ケース6)
ストアド・プロシージャの実行(ケース7)
配布CD-ROMの内容は次のとおりです。
デモンストレーション・ファイル
Microsoft SQL Serverデータベースにデモンストレーション表およびストアド・プロシージャを作成する1つのSQLスクリプト・ファイル
Microsoft SQL Serverデータベースからデモンストレーション表およびストアド・プロシージャを削除する1つのSQLスクリプト・ファイル
ゲートウェイを正常にインストールした後、ORACLE_HOME\tg4msql\demo
ディレクトリに格納されているデモンストレーション・ファイルを使用します。ORACLE_HOMEは、ゲートウェイがインストールされているディレクトリです。このディレクトリには、次のデモンストレーション・ファイルが入っています。
ケース・スタディでは、次の要件が満たされていることを前提にしています。
ゲートウェイのデモンストレーション表およびストアド・プロシージャは、Microsoft SQL Serverデータベースにインストールされていること
Oracleサーバーには、名前がSCOTT、パスワードがTIGERのアカウントがあること
Oracleサーバーには、パスワードがTIGER2のSCOTTとしてゲートウェイをMicrosoft SQL Serverデータベースに接続するGTWLINKという名前のデータベース・リンク(ユーザーSCOTTに対してパブリックまたはプライベートとして設定)があること
たとえば、次のようなデータベース・リンクを作成できます。
SQL> CREATE DATABASE LINK GTWLINK CONNECT TO SCOTT 2 IDENTIFIED BY TIGER2 USING 'GTWSID';
Oracle Net Servicesが正常に構成され、稼働していること
ケース・スタディは、GTW_EMP、GTW_DEPT、GTW_SALGRADE表と、InsertDeptおよびGetDeptストアド・プロシージャに基づいています。デモンストレーション表とストアド・プロシージャがMicrosoft SQL Serverデータベースに作成されていない場合は、bldmsql.sql
スクリプトを使用して作成します。次のように入力します。
> isql -USCOTT -PTIGER2 -ibldmsql.sql
その結果、スクリプトによりデモンストレーション表とストアド・プロシージャがMicrosoft SQL Serverデータベースに作成されます。
CREATE TABLE GTW_EMP ( EMPNO SMALLINT NOT NULL ENAME VARCHAR(10), JOB VARCHAR(9), MGR SMALLINT, HIREDATE DATETIME, SAL NUMERIC(7,2), COMM NUMERIC(7,2), DEPTNO SMALLINT) go CREATE TABLE GTW_DEPT ( DEPTNO SMALLINT NOT NULL, DNAME VARCHAR(14), LOC VARCHAR(13)) go CREATE TABLE GTW_SALGRADE ( GRADE MONEY, LOSAL NUMERIC(9,4), HISAL NUMERIC(9,4)) go DROP PROCEDURE InsertDept go CREATE PROCEDURE InsertDept (@dno INTEGER, @dname VARCHAR(14), @loc VARCHAR(13)) AS INSERT INTO GTW_DEPT VALUES (@dno, @dname, @loc) go DROP PROCEDURE GetDept go CREATE PROCEDURE GetDept (@dno INTEGER, @dname VARCHAR(14) OUTPUT) AS SELECT @dname=DNAME FROM GTW_DEPT WHERE DEPTNO=@dno go
次の表定義では、SQL*PLUSのDESCRIBEコマンドによって取り出された情報を使用しています。
GTW_EMP
Name Null? Type ------------------------------- -------- ---- EMPNO NOT NULL NUMBER(5) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(5) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(5)
GTW_DEPT
Name Null? Type ------------------------------- -------- ---- DEPTNO NOT NULL NUMBER(5) DNAME VARCHAR2(14) LOC VARCHAR2(13)
GTW_SALGRADE
Name Null? Type ------------------------------- -------- ---- GRADE NUMBER(19,4) LOSAL NUMBER(9,4) HISAL NUMBER(9,4)
Microsoft SQL Server表の内容は次のとおりです。
GTW_EMP
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- ----- --- --- -------- --- ---- ------ 7369 SMITH CLERK 7902 17-DEC-80 800 20 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 7566 JONES MANAGER 7839 02-APR-81 2975 20 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 7782 CLARK MANAGER 7839 09-JUN-81 2450 10 7788 SCOTT ANALYST 7566 09-DEC-82 3000 20 7839 KING PRESIDENT 17-NOV-81 5000 10 7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 7876 ADAMS CLERK 7788 12-JAN-83 1100 20 7900 JAMES CLERK 7698 03-DEC-81 950 30 7902 FORD ANALYST 7566 03-DEC-81 3000 20 7934 MILLER CLERK 7782 23-JAN-82 1300 10
GTW_DEPT
DEPTNO DNAME LOC ----- -------------- -------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON
GTW_SALGRADE
GRADE LOSAL HISAL ------ ------ ----- 1 700 1200 2 1201 1400 3 1401 2000 4 2001 3000 5 3001 9999
ケース1では、次の内容について説明します。
単純な問合せ
日付情報をすべて取り出す単純な問合せ
1つ目の問合せでは、GTW_DEPTからすべてのデータを取り出し、ゲートウェイが正常に機能していることを確認します。2つ目の問合せでは、採用日の時刻の部分を含め、GTW_EMPからすべてのデータを取り出します。これは、ALTER SESSIONコマンドにより、セッションのデフォルトの日付書式がDD-MON-YY HH24:MM:SSに設定されたためです。
ケース3では、次の内容について説明します。
Microsoft SQL Server表間の結合
サブセレクト
この問合せでは、所得が平均給与より多い従業員についてのみ、3つのMicrosoft SQL Server表から情報を取り出し、従業員を部門名と給与等級に関連付けます。
ケース5では、データ・ディクショナリのマッピングについて説明します。ここでは、Microsoft SQL Serverデータベースに存在する、GTWで始まるすべての表およびビューを取り出します。
ケース6では、アプリケーションがコマンドまたは文をMicrosoft SQL Serverに送信できるようにする、ゲートウェイのパススルー機能について説明します。
このケースでは次の内容について説明します。
バインド変数を使用するパススルーUPDATE文
パススルーSELECT文