Oracle® Database Extensions for .NET開発者ガイド ODAC 12.2c リリース1 (12.2.0.1) for Microsoft Windows E88314-01 |
|
![]() 前 |
![]() 次 |
これらの項では、.NETストアド・プロシージャまたは機能を開発してOracle Databaseにデプロイするのに必要な手順を説明します。
Microsoft Visual Studio .NETを使用して、適切な.NET言語でストアド・プロシージャまたはファンクションを記述します。
.NETストアド・プロシージャまたはファンクションにOracle Data Provider for .NET(Oracle.DataAccess.Client
およびOracle.DataAccess.Types
)を使用して、データ・アクセスを提供します。
ストアド・プロシージャまたはファンクションを、EXEではなくDLLとしてアセンブリに組み込みます。通常、この作業にはクラス・ライブラリ・プロジェクトを使用します。
データ・アクセスを使用する.NETプロシージャまたはファンクションを設計および開発する際には、Oracle Data Provider for .NETの制限事項、特に接続およびトランザクション・セマンティクスに関する制限に注意してください。
関連項目:
Oracle Data Provider for .NETの開発者ガイド
Microsoft Visual StudioからOracle Deployment Wizard for .NETを実行します。Oracle Deployment Wizard for .NETは、Oracle Developer Tools for Visual Studioの一部としてインストールされます。このウィザードでは、SYSDBA
資格証明、デプロイするアセンブリの名前およびデプロイ先データベースを指定する必要があります。
アセンブリのメソッド・リストがOracle Deployment Wizard for .NETに表示された時点で、デプロイするプロシージャまたはファンクションを選択します。
また、セキュリティ・レベルも選択します。
Oracle Database Extensions for .NETにより、指定のセキュリティ・レベルで.NETストアド・プロシージャまたはファンクションが実行されます。セキュリティ・レベルは、.NETストアド・プロシージャまたはファンクションに付与されたコード・アクセス許可を示します。デフォルトでは、.NETストアド・プロシージャまたはファンクションはSAFEセキュリティ・レベルで実行されます。
セキュリティ・レベルは次のとおりです。
安全
「安全」レベルの場合、.NETストアド・プロシージャまたはファンクションからデータベース・リソースへのアクセスのみが許可されます。ローカル・ファイルやネットワークなどの外部リソースへのアクセスは許可されません。
外部
「外部」レベルの場合、.NETストアド・プロシージャまたはファンクションは、ローカル・ファイルの読取りまたは書込みと、ソケットやインターネット・ノードなどのネットワーク・リソースへのアクセスが許可されます。
危険
「危険」レベルの場合、.NETストアド・プロシージャまたはファンクションは、管理されていないコードの実行を含め、制限なしの実行が許可されます。このレベルは、他のすべてのセキュリティ・レベルのスーパーセットです。
注意:
ODP.NETがマシンワイド以外の構成でインストールされている場合、.NETストアド・プロシージャは「危険」セキュリティ・レベルでデプロイおよび構成される必要があります。
関連項目:
セキュリティ・レベルを入力するプロセスの詳細は、「手順3: デプロイするファンクションの選択」を参照してください
.NETストアド・プロシージャまたはファンクションのPL/SQLラッパーを作成するために、.NETデータ型とOracleデータ型の間の適切なマッピングを判別します。Oracle Deployment Wizard for .NETにはデフォルト・マッピングが用意されていますが、オーバーライドできます。
オーバーロードされる.NETストアド・プロシージャまたはファンクションの場合は、PL/SQLラッパーの個別名を指定する必要があります。
変換情報は、付録Aの表を参照してください。
関連項目:
PL/SQLラッパーをコールして、.NETストアド・プロシージャまたはファンクションをテストします。
PL/SQLラッパーは、Oracle Developer Tools for Visual StudioまたはSQL*Plusなどのツールを使用して容易に検索して実行できます。
.NETストアド・プロシージャまたはファンクションがコールされると、Oracleデータベース・リスナーは要求をマルチスレッドCLR外部プロシージャ・エージェントextproc.exe
にリダイレクトします。各.NETストアド・プロシージャまたはファンクションは、extproc.exe
プロセスのコンテキスト内で実行されます。
注意:
アプリケーションの問題のトラブルシューティングには、Oracle Data Provider for .NETのトレーシング・メカニズムを使用できます。『Oracle Data Provider for .NET開発者ガイド』(Microsoft Windows用)のデバッグ・トレースに関する項を参照してください。