Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

Oracleのストアド・プロシージャをVB/C#で記述する方法

Oracle Database Extensions for .NET(ODE.NET)の利用

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2007/05/10 08:00

目次

ODE.NETのインストール(2/2)

 ダウンロードした「ODTwithODAC10202.exe」は自己解凍形式の圧縮ファイルになっていますので、エクスプローラからダブルクリックして解凍すると、「stage」と「install」という2つのフォルダが作成されます。「install」フォルダから「setup.exe」を実行し、Oracle Universal Installer(以下、OUI)起動させ「ようこそ」の画面で、[次へ]ボタンをクリックします。

 

 「インストールする製品の選択」の画面で、[Oracle Database Extensions for .NET 10.2.0.1.0]を選択して[次へ]をクリックします。

 

 「ホームの詳細の指定」画面で、インストール先を指定します。ここで重要な点として、先ほどインストールした「Oracle Database Extensions for .NET 10.2.0.1.0」と同一のインストール先を指定してください。

 

 「インストールするコンポーネントの選択」の画面で、表示されてる2つのコンポーネントをチェックして、[次へ]をクリックします。

 

 次のような画面が表示された場合は、

 

 「サービス」一覧から 「OracleOraDb10g_home(xx)ClrAgent」のサービスを停止します。

 

 OUIに戻り[次へ]をクリックすると、次のような画面が表示されます。

 

 コマンドプロンプトを開き、表示されているディレクトリに移動してから、SQL*PLUSで次のように「DBMSClr.plb」を実行します。

DBMSClr.plbの実行例
D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN>sqlplus sys/[パスワード]
 as sysdba

Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
に接続されました。

SQL> @DBMSClr.plb

 ~ 途中省略 ~

PL/SQLプロシージャが正常に完了しました。

エラーはありません。

SQL>

 上記のスクリプトを実行したら[次へ]をクリックし、サマリー画面でインストールされるコンポーネントを確認後、[インストール]をクリックしてインストールを実行します。インストールが完了したら、.NET Framework 2.0に対応したODE.NETのインストールが完了です。

 次に、ODE.NETを利用するための設定を行います。ODE.NETはリスナーを経由して.NETストアドプロシージャを実行します。Oracle Netの設定に問題がある場合、「ORA-28575: 外部プロシージャ・エージェントへのRPC 接続をオープンできません。」というエラーが発生する可能性があります。そのため、以下の2つのファイルについて確認を行います。

  1. listener.ora
  2. tnsnames.ora

 これらのファイルは、Oracleデータベースをインストールしたフォルダ(Oracleホーム)以下の「NETWORK\ADMIN」フォルダにあります。これらのファイル内に以下の記述があるかを確認しましょう。

.NETストアドプロシージャを有効にするための設定
SID_LIST_LISTENER =
 (SID_LIST =
  (SID_DESC =
   (SID_NAME = PLSExtProc)
   (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
   (PROGRAM = extproc)
  )
  (SID_DESC =
   (SID_NAME = CLRExtProc)
   (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
   (PROGRAM = extproc)
  )
 )
.NETストアドプロシージャを有効にするための設定
ORACLR_CONNECTION_DATA =
 (DESCRIPTION =
  (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
  )
  (CONNECT_DATA =
    (SID = CLRExtProc)
    (PRESENTATION = RO)
  )
 )

 次に、ODE.NETはWindowsサービスとして稼動するので、「サービス」一覧から 「OracleOraDb10g_home(xx)ClrAgent」サービスが開始されていることを確認します。

 

 以上で、ODE.NETを使用する準備は完了です。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 日本オラクル 大田(オオタ ヒロシ)

    日本オラクル株式会社 Oracle Directテクニカルサービス部所属。開発者の視点から、Oracle Databaseの機能を最大限に活かすための手法を日々研究しながら、プリセールス活動やオンラインセミナー等による情報発信を行う。現在はWindows Server上でのOracle製品活用を推進...

バックナンバー

連載:Oracle Tips

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5