連載
» 2006年02月07日 00時00分 公開

Oracleにも“SQL CLR”と同じ開発生産性を!.NETでOracleアプリを作ろう(4)(2/4 ページ)

[小海友和,日本オラクル]

ODE.NETを使用する準備

システム要件

 ODE.NET 10.2を使用するための主なシステム要件は以下になります。

データベース・サーバの要件

  • Microsoft .NET Framework 1.0以降
  • Microsoft Windows Server 2003、Windows 2000、Windows XP
  • Oracle Database 10g Release 2(10.2.0)以降
  • .NETアセンブリの配布に関する修正パッチ、早期アクセス版の適用注1
注1OTN-Jで公開されているトライアル版のOracle Database 10g Release 2(10.2.0)では、Unicodeまたはマルチバイトのデータベース・キャラクタ・セットを持つデータベースを使用している場合、.NETアセンブリのデプロイ時にエラーが発生し、デプロイが完了しません。この問題を回避するための修正パッチがODTのダウンロードサイトにありますので、データベースにあらかじめこのパッチを適用しておきましょう。

.NETストアド・プロシージャを開発、デプロイするために必要なシステム要件

  • Oracle Client 10g Release 2(10.2.0)以降
  • Oracle Developer Tools for Visual Studio .NET 10.2(以下、ODT 10.2)注2
注2:ODT 10.2には以下のコンポーネントも含まれます。

 ・Oracle Data Provider for .NET 10.2.0.1.0
 ・Oracle Client 10.2.0.1

また、ODT 10.2の動作環境についてはOTNの次のURLをご覧ください。
http://otn.oracle.co.jp/software/tech/windows/odt/index.html

データベースをインストールするときの注意

 ODE.NETはデフォルトではインストールされないため、データベースをインストールする際にはインストール・タイプとして「カスタム」を選択し、コンポーネントとして「Oracle Database Extensions for .NET 10.2.0.1.0」にチェックを入れる必要があります。

図3 OUI - インストール・タイプとして「カスタム」を選択し、「Oracle Database Extensions for .NET」にチェック 図3 OUI - インストール・タイプとして「カスタム」を選択し、「Oracle Database Extensions for .NET」にチェック

データベース作成時の注意

 データベースのインストール後、データベース・コンフィギュレーション・アシスタント(DBCA)でデータベースを作成する際には、データベース・テンプレートとして「カスタム・データベース」を選択し、データベース・コンポーネントとして「.NETのOracle Database Extensions」を選択する必要があります。

図4 DBCA - データベース・テンプレートとして「カスタム・データベース」を選択し、「.NETのOracle Database Extensions」にチェック 図4 DBCA - データベース・テンプレートとして「カスタム・データベース」を選択し、「.NETのOracle Database Extensions」にチェック

 この設定がされていないと.NETアセンブリをデプロイする際に、「ORACLECLRDIR DIRECTORY DOES NOT EXIST」というエラーが発生し、デプロイが完了しません。すでに作成済みのデータベースで、インストール済みのコンポーネントを確認するためには、データベース・コンフィギュレーション・アシスタント(DBCA)を起動し、「データベース・オプションの構成」を選択します。

図5 DBCAでのインストール済みコンポーネントの確認 図5 DBCAでのインストール済みコンポーネントの確認

Oracle Net Servicesの設定の確認

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

  • listener.ora
  • tnsnames.ora

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

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)
  )

 )
リスト1 listener.oraファイル(ORACLE_HOMEの値は環境に合わせた設定)

ORACLR_CONNECTION_DATA =
 (DESCRIPTION =
  (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
  )
  (CONNECT_DATA =
    (SID = CLRExtProc)
    (PRESENTATION = RO)
  )
 )
リスト2 tnsnames.oraファイル

メモ:listener.oraについては、バックアップ用にこのファイルをリネームし、Net Configuration Assistant(NetCA)を使用して「リスナー構成」-「追加」のステップを踏むことで再作成が可能です。

ClrAgentサービスの起動を確認

 .NETアセンブリが実行されるCLRホストを生成するWindowsのサービスがClrAgentサービスになります。このサービスが開始されていることを確認しましょう。

図6 ClrAgentサービスが開始していることを確認 図6 ClrAgentサービスが開始していることを確認

 以上で、ODE.NETを使用する準備は完了です。(次ページへ続く)

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。