Oracle Providers for ASP.NETは、Oracle Data Access Components(ODAC)の一部であり、OTNからダウンロードできます。
NuGet
NuGetは、Microsoft.NET用のソフトウェア・パッケージング方法です。これは、開発者や管理者に人気のある自動化されたインストールおよび設定の方法を提供するものであり、Oracle Providers for ASP.NETのインストールに使用できるようになりました。
Microsoft Windows Installer
Microsoft Windows Installer (MSI)は、Windowsベースのソフトウェアのための一般的な標準インストール方法です。これは、Oracle Providers for ASP.NETのデプロイに使用できます。
XCopy
管理者は、XCopyを使用してOracle Providers for ASP.NETを多数のコンピュータに本番デプロイ用にデプロイします。インストールおよび設定中のフットプリントが小さく、また、ファイングレイン・コントロールがあります。
Oracle Universal Installer
開発者またはユーザーは、Oracle Universal Installerを使用して自動GUIインストールを行います。XCopyのデプロイに含まれていないドキュメントおよびサンプル・コードが含まれています。
注意:
この項では、Oracle Universal Installerを使用したインストールについて説明します。XCopyによるインストール手順および構成については、インストールに含まれているREADMEファイルを参照してください。
マシン全体構成
マシン全体のOracle Providers for ASP.NET構成を選択した場合、インストーラの動作は次のようになります。
Oracle.Web.dllを使用するようmachine.configを更新します。
Oracle.Web.dllをGAC_MSILに配置します。
ポリシーDLLをGAC_MSILに配置します。ここでは、新しいOracle.Web.dllを使用するためにAnyCPUアプリケーションがリダイレクトされます。
したがって、手動変更の必要なく、古いOracle ASP.NETプロバイダ・バージョンを使用していた既存のアプリケーションで、新しくインストールされたバージョンが使用されるようになります。これらの変更点は、Oracle Providers for ASP.NET 2.0およびOracle Providers for ASP.NET 4に加えられます。
マシン全体構成は、Oracle Universal InstallerおよびXcopyインストールのみで使用可能です。
非マシン全体構成
マシン全体のOracle Providers for ASP.NET構成を選択しない場合、インストーラの動作は次のようになります。
Oracle.Web.dllを使用するためのmachine.config更新を実行しません。
Oracle.Web.dllをGAC_MSILに配置しません。
新しいOracle.Web.dllを使用するためにAnyCPUアプリケーションをリダイレクトする、GAC_MSILにポリシーDLLを配置しません。
したがって、既存のアプリケーションでは、手動でそれらを変更しないかぎり、新しくインストールしたバージョンではなく現在のOracle Providers for ASP.NETアセンブリ・バージョンが引き続き使用されます。
マシン全体構成を選択しない場合に、新しくインストールしたOracle.Web.dllをアプリケーションで使用するには、次の手動手順が必要となります。
新しいバージョンのOracle.Web.dllを、GACに配置しないことを選択した後にアプリケーションで使用するためには、まず、Oracle.Web.dllおよびOracle.ManagedDataAcces.dllをアプリケーション・ディレクトリにコピーする必要があります。
次に、新しいOracle.Web.dllを参照するために、web.config内に正しい構成が必要となります。ここでは、すべてのプロバイダをOracle.Web.dllバージョン4.121.2.1を使用するよう構成することが求められる場合の、web.configの内容の例を示します。
<configuration>
<system.web>
<membership>
<providers>
<add name="OracleMembershipProvider" type="Oracle.Web.Security.OracleMembershipProvider, Oracle.Web, Version=4.121.2.1,
Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName=""
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="false"
passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7"
minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
</providers>
</membership>
<profile>
<providers>
<add name="OracleProfileProvider" type="Oracle.Web.Profile.OracleProfileProvider, Oracle.Web, Version=4.121.2.1,
Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName="" />
</providers>
</profile>
<roleManager>
<providers>
<add name="OracleRoleProvider" type="Oracle.Web.Security.OracleRoleProvider, Oracle.Web, Version=4.121.2.1,
Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName="" />
</providers>
</roleManager>
<siteMap>
<providers>
<add name="OracleSiteMapProvider" type="Oracle.Web.SiteMap.OracleSiteMapProvider, Oracle.Web, Version=4.121.2.1,
Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString"
applicationName="" securityTrimmingEnabled="true" />
</providers>
</siteMap>
<webParts>
<personalization>
<providers>
<add name="OraclePersonalizationProvider" type="Oracle.Web.Personalization.OraclePersonalizationProvider, Oracle.Web,
Version=4.121.2.1, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString"
applicationName="" />
</providers>
</personalization>
</webParts>
<healthMonitoring>
<providers>
<add name="OracleWebEventProvider" type="Oracle.Web.Management.OracleWebEventProvider, Oracle.Web, Version=4.121.2.1,
Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" buffer="true"
bufferMode="OracleNotification" />
</providers>
</healthMonitoring>
</system.web>
</configuration>
新しいOracle.Web.dllバージョンを使用するようアプリケーションを更新できることと、Oracle Providers for ASP.NET用のNuGetパッケージをインストールすることでweb.configを適切に構成できることに注意してください。
関連項目:
詳細は、「ASP.NETクライアントの設定」を参照してください。
また、Oracle Providers for ASP.NET動的ヘルプがVisual Studioに登録され、Visual Studio動的ヘルプとシームレスに統合されるコンテキスト依存のオンライン・ヘルプが提供されます。動的ヘルプを使用すると、ユーザーは、Oracle Providers for ASP.NETのキーワードにカーソルを置き、[F1]ファンクション・キーを押すことで、Visual Studio内でOracle Providers for ASP.NETのマニュアルにアクセスできます。
Oracle Providers for ASP.NETをインストールすると、次の2つの追加設定タスクが必要になります。
関連項目:
インストール手順については、『Oracle Databaseインストレーション・ガイドfor Microsoft Windows』を参照してください。
次の各項では、プロバイダの構成方法について説明します。
Oracleデータベースを設定するには、データベース管理者はOracle Providers for ASP.NETスキーマに次のデータベース権限を付与する必要があります。これらの権限によって、表、ビュー、ストアド・プロシージャおよびOracle Providers for ASP.NETで必要なその他のデータベース・オブジェクトを作成するためのスキーマ権限が付与されます。これらのスクリプトは、ASP.NETプロバイダの状態情報が格納され、ASP.NETプロバイダ自体によってその情報が取得されるデータベースに対して実行する必要があります。これらのSQLスクリプトは、SQL*Plusを使用して実行するか、Oracle Developer Tools for Visual Studio内から実行できます。
Oracle Providers for ASP.NETでは、設定中に次の権限が必要です。
通知を変更する
ジョブを作成する
プロシージャを作成する
パブリック・シノニムを作成する
ロールを作成する
セッションを作成する
表を作成する
ビューを作成する
パブリック・シノニムを削除する
Oracle表領域へのアクセス権を付与し領域を割り当てる
すべてのデータベース権限が、Oracle Providers for ASP.NETのランタイム操作に必要なわけではありません。データベース管理者は、必要に応じて選択的に権限の付与と取消しができます。ランタイム操作では、すべてのプロバイダでスキーマ・ユーザーにCREATE SESSION権限を付与する必要があります。また、実行中は、サイト・マップ・プロバイダとキャッシュ依存性プロバイダに、CHANGE NOTIFICATION権限が必要です。残りの権限は、インストールおよび削除のためにのみスキーマ・ユーザーに付与し、ランタイム操作の際には取り消すことができます。
設定スクリプトの実行中に発生したエラーは、ユーザーに前述の権限を付与する必要があることを示している場合があります。この場合、データベース管理者は、その権限を付与する必要があります。Oracle Database 10g以降のデータベースの場合、Oracle Session State Provider for ASP.NETにはCREATE JOB権限が必要です。
データベース内で一度にすべてのプロバイダを構成するには、InstallAllOracleASPNETProviders.sqlを実行します。このスクリプトは、ORACLE_BASE\\ORACLE_HOME\ASP.NET\sqlディレクトリにあります。
アプリケーションですべてのOracle Providers for ASP.NETを必要としない場合があるため、プロバイダは個別に設定することができます。Oracle Session State ProviderおよびOracle Cache Dependency Providerを除き、インストール・スクリプトInstallOracleASPNETCommon.sqlを、その他のインストール・スクリプトの前に実行する必要があります。次に、各Oracle Provider for ASP.NETに対して、そのプロバイダに固有のSQLスクリプトを実行する必要があります(順番は問いません)。
これらのインストール・スクリプトは、ORACLE_BASE\\ORACLE_HOME\ASP.NET\sqlディレクトリにあります。
表1-2 インストール・スクリプト
| プロバイダ | 必要なインストール・スクリプト |
|---|---|
Oracle Membership Provider |
|
Oracle Personalization Provider |
|
Oracle Profile Provider |
|
Oracle Role Provider |
|
Oracle Session State Provider |
注意: このプロバイダが実行する必要があるのは |
Oracle Site Map Provider |
|
Oracle Web Events Provider |
|
Oracle Cache Dependency Provider |
スクリプトの実行は不要です |
Oracle Providers for ASP.NETのインストール・スクリプトを実行する際には、同じディレクトリにある対応する.plbスクリプトが順に実行されます。.plbスクリプトにより、プロバイダが使用するストアド・プロシージャとストアド・ファンクションが作成されます。インストール.sqlスクリプトは、.plbファイルにアクセスできる場所で実行する必要があります。
各プロバイダは、インストール・スクリプトから作成されたデータベース・オブジェクトを削除するための対応するアンインストール・スクリプトも提供します。これらのスクリプトには、Uninstallという接頭辞が付いています。
インストールおよびアンインストール・スクリプトは、Oracle Providers for ASP.NET 2.0およびOracle Providers for ASP.NET 4用と同じです。
インストール終了後、開発者は、ASP.NETの状態情報を格納および取得するデータベース・スキーマへの接続情報を指定する必要があります。このステップでは、開発者は必要に応じてUser Id、Password、Data Source、およびその他の接続文字列情報を指定する必要があります。開発者は、次の例に類似したエントリをmachine.configファイルに指定できます。
<connectionStrings> <add name="OraAspNetConString" connectionString="User Id=aspnet;Password=aspnet;Data Source=oracle; " /> </connectionStrings>
オプションで、開発者はmachine.configの<system.web>セクションに指定された各ASP.NETプロバイダのプロパティをカスタマイズできます。
machine.configは、マシン全体構成によって自動構成されますが、web.configファイルを使用すれば、開発者はOracle Providers for ASP.NETに対してさらに詳細なアプリケーション・レベルの制御を適用できます。このファイルはmachine.configファイルのエントリより優先されます。開発者は、machine.configファイルと同じXML構文を使用してweb.configファイルを設定できます。
開発者は、標準のASP.NET管理ツールを使用して、Oracle Providers for ASP.NETを構成できます。特に、Internet Information Services管理コンソールを使用できます。コンソールのASP.NET構成設定では、Oracleプロバイダの設定を変更できます。あるいは、Visual StudioのWebサイト・プロジェクトで、「Webサイト」メニュー・アイテムからASP.NET構成を選択することで、特定のWebサイト・プロジェクトに対してこれらの設定ができます。
マシン全体構成のインストールにより、自動的にmachine.configがデフォルト値で設定されますが、管理者は、その設定を変更できます。ユーザーは、OraProvCfgユーティリティを使用して、machine.configファイル内のプロバイダ固有のエントリを次のように構成できます。
注意:
Oracle Providers for ASP.NET 2.0を構成するには、ORACLE_BASE\ORACLE_HOME\ASP.NET\Bin\2.xにあるOraProvCfgユーティリティを使用します。
Oracle Providers for ASP.NET 4を構成するには、ORACLE_BASE\ORACLE_HOME\ASP.NET\Bin\4にあるOraProvCfgユーティリティを使用します。
OraProvCfgユーティリティのヘルプを表示するには、次のようにします。
OraProvCfg -help
Oracle Providers for ASP.NET固有のエントリをmachine.configファイルに追加するには、次のようにします。
OraProvCfg /action:config /product:aspnet /component:all
/frameworkversion:v2.0.50727
/providerpath:c:\Oracle\odp.net\bin\2.x\Oracle.Web.dll
Frameworkバージョンおよびプロバイダのパスは(特に)状況に合せて変更する必要があります。
Oracle Providers for ASP.NET固有のエントリをmachine.configファイルから削除するには、次のようにします。
OraProvCfg /action:unconfig /product:aspnet /component:all
/frameworkversion:v2.0.50727
Frameworkバージョンは状況に合せて変更する必要があります。