| 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用)のデバッグ・トレースに関する項を参照してください。