2009年10月28日水曜日

第13回 HTTP ServerでPL/SQLのWeb Applicationを動かす

下記の環境下において、PL/SQL言語によって開発されたWeb ApplicationをHTTP Server上で動かす手順を例示する。

  • Oracle Web Server (OWS)
  • Oracle Web Application Server(WAS)
  • Oracle Application Server (OAS)
  • Oracle Internet Application Server (iAS)
  • Oracle Application Server 10g (OracleAS 10g)

  1. HTTP Serverのインストール
    1. インストールは前回の「第12回 Oracle HTML DB、HTTP Serverのインストール」を参照されたい。相違点のみを下記に記す。

    2. インストールする製品の選択
    3. 「インストールする製品の選択」が表示されたら、「Oracle Database 10g Companion Products 10.2.0.2.0」を選択して「次へ」をクリックする。

      Screen  インストールする製品の選択

    4. 使用可能な製品コンポーネント
    5. 「使用可能な製品コンポーネント」が表示されたら、「Apache Standalone 10.1.2.1.0」を選択して「次へ」をクリックする。

      Screen  ホームの詳細の指定

    6. コンフィギュレーション・アシスタント
    7. 「Starting HTTP Server」が終了するまで待つ。

      Screen  コンフィギュレーション・アシスタント

  2. 定義ファイルの設定
    1. DAD (Database Access Descriptor) Configuration File (dads.conf)の作成
    2. 「dads.README」に入っているテンプレートから「dads.conf」を作成する。

      $ cd /opt/app/oracle/product/10.2.0/companion/Apache/modplsql/conf
      $ cp -p dads.conf dads.conf.org
      $ vi dads.README
      (現在のラインナンバーでは下記のとおり削除する。)
      :96,$d
      :1,81d
      (「dads.conf」でセーブして終了する。)
      :wq! dads.conf

      編集後、「dads.conf」の内容は下記のとおりになる。

      <location /plsqlapp>
        SetHandler pls_handler
        Order deny,allow
        Allow from all
        AllowOverride None
        PlsqlDatabaseUsername scott
        PlsqlDatabasePassword tiger
        PlsqlDatabaseConnectString orcl
        PlsqlAuthenticationMode Basic
        PlsqlDefaultPage scott.home
        PlsqlDocumentTablename scott.wwdoc_document
        PlsqlDocumentPath docs
        PlsqlDocumentProcedure scott.wwdoc_process.process_download
      </location>

    3. ローカル・ネーミング・パラメータ (tnsnames.ora)の作成
    4. 「Oracle Database 10g」に入っているtnsnames.oraを「Oracle HTTP Server」にコピーする。

      $ cd /opt/app/oracle/product/10.2.0/network/admin
      $ cp -p tnsnames.ora /opt/app/oracle/product/10.2.0/companion/network/admin

  3. プログラムコードの作成
    1. PL/SQLプロシジャーの作成
    2. 下記のプログラムコードを作成して「list.sql」の名前で保存する。

      create or replace procedure list is
        cursor cur is
        select table_name from user_tables;
      begin
        for rec in cur loop
          htp.p(rec.table_name||'<br>');
        end loop;
      end;
      /

    3. PL/SQLプロシジャーのコンパイル
    4. 下記の手順によりプロシジャーのコンパイルする。

      $ sqlplus scott/tiger
      SQL*Plus: Release 10.2.0.2.0 - Production on ・・・
        …  
      SQL>@list.sql
      プロシージャが作成されました。
      SQL>quit

    5. Oracle HTTP Serverの再起動
    6. 「$ORACLE_HOME/companion/opmn/bin/opmnctl」コマンドを使用する。

      $ /opt/app/oracle/product/10.2.0/companion/opmn/bin/opmnctl restartproc
      opmnctl: restarting opmn managed processes...

    7. プログラムの実行
    8. ブラウザでURLに「http://server_addr:7777/plsqlapp/list」を指定する。

      Screen  実行結果

0 件のコメント:

コメントを投稿