The following case studies for Ingres II demonstrate some of the features of the Oracle Transparent Gateway. You can verify that the gateway is installed and operating correctly by using the demonstration files included on the distribution CD-ROM.
The demonstration files are automatically copied to disk when the gateway is installed.
This chapter contains the following sections:
The cases illustrate:
A simple query (Case 1)
A more complex query (Case 2)
Joining Ingres II tables (Case 3)
Write capabilities (Case 4)
A data dictionary query (Case 5)
The pass-through feature (Case 6)
The distribution CD-ROM contains the following:
Demonstration files
One SQL script file that creates the demonstration tables in the Ingres II database
One SQL script file that drops the demonstration tables from the Ingres II database
After a successful gateway installation, use the demonstration files stored in the directory $ORACLE_HOME/tg4ingr/demo
where $ORACLE_HOME is the directory under which the gateway is installed. The directory contains the following demonstration files:
The case studies assume these requirements have been met:
The gateway demonstration tables are installed in the Ingres II database
The Oracle server has an account named SCOTT with a password of TIGER
The Oracle server has a database link called GTWLINK (set up as public or private to the user SCOTT) which connects the gateway to an Ingres II database as SCOTT with password TIGER2.
For example, you can create the database link as follows:
SQL> CREATE DATABASE LINK GTWLINK CONNECT TO SCOTT 2 IDENTIFIED BY TIGER2 USING 'gtw_connect_descriptor';
Oracle Net Services is configured correctly and running.
The Ingres II environment variable, II_SYSTEM, is set correctly.
The case studies are based on the GTW_EMP, GTW_DEPT, and GTW_SALGRADE tables. If the demonstration tables have not been created in the Ingres II database, use the bldingr.sql
script to create them. Enter the following:
$ bldingr.sql
The script creates the demonstration tables in the Ingres II database accordingly:
CREATE TABLE GTW_EMP (EMPNO INTEGER2 NOT NULL ENAME VARCHAR(10),JOB VARCHAR(9),MGR INTEGER2,HIREDATE DATE,SAL FLOAT4,COMM FLOAT8,DEPTNO INTEGER2) CREATE TABLE GTW_DEPT (DEPTNO INTEGER1 NOT NULL,DNAME VARCHAR(14),LOC VARCHAR(13)) CREATE TABLE GTW_SALGRADE (GRADE INTEGER1,LOSAL NFLOAT4,HISAL FLOAT4)
The following table definitions use information retrieved by the SQL*PLUS DESCRIBE command:
GTW_EMP
Name Null? Type------------------------------- -------- ----EMPNO NOT NULL NUMBER(3)ENAME VARCHAR2(10)JOB VARCHAR2(9)MGR NUMBER(5)HIREDATE DATESAL 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(3)LOSAL NUMBER(9,4)HISAL NUMBER(9,4)
The contents of the Ingres II tables are:
GTW_EMP
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO----- ----- --- --- -------- --- ---- ------7369 SMITH CLERK 7902 17-DEC-80 800 207499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 307521 WARD SALESMAN 7698 22-FEB-81 1250 500 307566 JONES MANAGER 7839 02-APR-81 2975 207654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 307698 BLAKE MANAGER 7839 01-MAY-81 2850 307782 CLARK MANAGER 7839 09-JUN-81 2450 107788 SCOTT ANALYST 7566 09-DEC-82 3000 207839 KING PRESIDENT 17-NOV-81 5000 107844 TURNER SALESMAN 7698 08-SEP-81 1500 0 307876 ADAMS CLERK 7788 12-JAN-83 1100 207900 JAMES CLERK 7698 03-DEC-81 950 307902 FORD ANALYST 7566 03-DEC-81 3000 207934 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
Case 1 demonstrates the following:
A simple query
A simple query retrieving full date information
The first query retrieves all the data from GTW_DEPT and confirms that the gateway is working correctly. The second query retrieves all the data from GTW_EMP including the time portion of the hire date because the default date format was set to DD-MON-YY HH24:MM:SS for the session by an ALTER SESSION command.
Case 2 demonstrates the following:
The functions SUM(expression) and NVL(expr1, expr2) in the SELECT list.
The GROUP BY and HAVING clauses.
This query retrieves the departments from GTW_EMP whose total monthly expenses are higher than $10,000.
Case 3 demonstrates the following:
Joins between Ingres II tables
Subselects
The query retrieves information from three Ingres II tables and relates the employees to their department name and salary grade, but only for those employees earning more than the average salary.
Case 4 is split into three cases and demonstrates the following:
Case 4a demonstrates bind values and subselect. All employees in department 20 and one employee, WARD, in department 30 are deleted.
Case 4b provides an example of a simple UPDATE statement. In this example, employees are given a $100 a month salary increase.
Case 5 demonstrates data dictionary mapping. It retrieves all the tables and views that exist in the Ingres II database that begin with "GTW".
Case 6 demonstrates the gateway pass-through feature which allows an application to send commands or statements to Ingres II.
This case demonstrates:
A pass-through UPDATE statement using bind variables.
A pass-through SELECT statement.