ステップ1: データベースへの接続の作成

Previous topic
前へ
Next topic
次へ

このステップでは、データベース内のHuman Resourceサンプル・スキーマへの接続を作成する方法と、Webサービスの作成対象となるプログラム・ユニットを含むパッケージをデータベースに作成する方法を説明します。

データベースに接続するには、次のようにします。

データベースにパッケージを作成するには、次のようにします。

  1. 次のコードをコピーし、テキスト・エディタに貼り付けます。wstutorial.sqlというファイル名で保存します。EMP_RECというオブジェクト型と、EMP_FETCHERというパッケージが作成されます。
    
    
    REM
    REM Create object EMP_REC
    REM
    
    CREATE or REPLACE type EMP_REC as object
     (
      employee_id number(6),
      last_name varchar2(25),
      job_id varchar2(10),
      manager_id number(6),
      hire_date date,
      salary number(8,2),
      commission_pct number(2,2),
      department_id number(4)
     );
    /
    show errors;
    
    REM
    REM EMP_FETCHER package spec
    REM
    
    CREATE or REPLACE package EMP_FETCHER as
        FUNCTION get_emp(emp_no IN NUMBER) RETURN emp_rec;
    END;
    /
    show errors;
    
    REM
    REM EMP_FETCHER package body
    REM
    
    CREATE or REPLACE package body EMP_FETCHER as
     FUNCTION get_emp(emp_no IN NUMBER) RETURN emp_rec IS
     emp_found employees%rowtype;
     emp_rtn emp_rec;
    BEGIN
     SELECT *
     INTO emp_found
     FROM employees
     WHERE employees.employee_id=emp_no;
    
     emp_rtn := emp_rec
     (
      emp_found.employee_id,
      emp_found.last_name,
      emp_found.job_id,
      emp_found.manager_id,
      emp_found.hire_date,
      emp_found.salary,
      emp_found.commission_pct,
      emp_found.department_id
      );
    
     RETURN emp_rtn;
     END;
    
    END;
    /
    show errors;
    
  2. SQL*Plusで、HR(Oracle9i)またはHR8(Oracle 8i)としてログインします。
  3. SQL*Plusのプロンプトで、@<path>/wstutorialと入力し(<path>は、ファイルを保存したディレクトリ)、[Enter]を押します。スクリプトが実行され、次のメッセージが表示されます。
    
    
    Type created.
    No errors.
    Package created.
    No errors.
    Package body created.
    No errors.
    SQL*Plusを閉じます。
  4. JDeveloperのナビゲータで「接続」ノード、次に「データベース」ノードを開きます。接続「tutorial_jdbc_connection」を開き、次に「HR」または「HR8」を開いて、新規パッケージ「EMP_FETCHER」を表示します。これを、Webサービスの作成に使用します。

適切なPL/SQLパッケージを作成したので、次はPL/SQL Webサービスを作成します。