この章の内容は次のとおりです。
この項では、このマニュアルで紹介する例を実行するために必要な製品とデータベース・スキーマを示します。
ローカルまたはリモート・コンピュータのいずれかに、Oracle Databaseをインストールしておく必要があります。
注意: このマニュアルで使用するすべての例で、Oracle Database 11gクライアントが必要です。 ただし、このクライアントではOracle Database 9iリリース2以上がサポートされているため、このうちのいずれかのリリースを使用することもできます。Oracle Database Extensions for .NETの使用を予定している場合、クライアントはOracle Database 11gへも接続する必要があります。 |
データベースは、ユーザー・インタフェースであるEnterprise Managerを使用して管理できます。Enterprise Managerでは、スクリプトや問合せを実行したりその他の操作を実行できます。
参照: Oracle Databaseをインストールおよび構成していない場合は、『Oracle Database Express Edition Installation Guide for Microsoft Windows』を参照してください。 |
このマニュアルで使用するサンプル・データは、Oracleサンプル・スキーマの1つであるHR
スキーマに含まれています。 このサンプル・スキーマは、Oracle Databaseインストールの一部として含まれています。
参照: HRのデータ・モデルおよび表については、『Oracle Databaseサンプル・スキーマ』を参照してください。 |
Oracle Data Access Components(ODAC)は、次のツールのコレクションです。
Oracle Developer Tools for Visual Studio
Oracle Data Provider for .NET
Oracle Providers for ASP.NET
Oracle Provider for OLE DB
Oracle Objects for OLE
Oracle ODBC Driver
Oracle Services for Microsoft Transaction Server
Oracle SQL*Plus
Oracle Instant Client
Oracle Database Extensions for .NETは、Oracle Database 11gをWindowsにインストールするときに、その一部としてインストールされます。 Oracle Database Extensions for .NETのインストール後、ODACインストールによってOracle Database Extensions for .NETへのアップグレードが提供されます。 このアップグレードは、「Oracle Data Access Components for Oracle Server」オプションの一部として含まれています。これは、「.NET製品のインストール」の手順4のスクリーンショットに示されています。 このアップグレードを実行し、Oracle Database Extensions for .NETをインストールする必要があるのは、このマニュアルの第8章に示す内容を実行する予定がある場合のみです。
次の手順は、Visual Studioをインストールした後で行う、Oracle Developer Tools for Visual Studio(ODT)、Oracle Data Provider for .NETおよびその他のODAC製品のインストール方法を示しています。
注意: 新しいバージョンのOracle .NET製品のリリースにより、このマニュアルに示しているインストール手順が若干変更される場合があることに注意してください。スクリーンショットは、Oracle Data Access Components(ODAC)バージョン11.1.0.6.21に基づいています。 |
インストールを行うには、次の手順を実行します。
インターネット・ブラウザで、次の場所に移動してODACとOracle Developer Tools for Visual Studioをダウンロードします。
http://www.oracle.com/technology/software/tech/windows/odpnet/index.html
すべてのファイルをzipファイルからファイル・システムのフォルダに抽出します。
Setup.exeをダブルクリックします。
Oracle Installerが起動します。必要な依存オブジェクトを検出する画面が短い間表示された後、Oracle Universal Installer(OUI)の「ようこそ」画面が表示されます。
「次へ」をクリックします。
「インストールする製品の選択」画面が表示されます。
最初のオプションを選択します。
このオプション(ODAC for Oracle Client)を選択すると、クライアントのOracleホームで使用する製品のみがインストールされます。2番目のオプション(ODAC for Oracle Server)を選択すると、Oracle Databaseが含まれるOracleホームに直接インストールできます。
「次へ」をクリックします。
「インストールの場所」ウィンドウが表示されます。このウィンドウで、インストールする場所を選択できます。デフォルトでは、クライアントのOracleホームが新しく作成されます。このマニュアルでは、デフォルトを受け入れて新しいOracleホームを作成します。
「次へ」をクリックします。
インストーラにより前提条件のチェックが実行されます。各チェックのステータスは「成功しました」になる必要があります。
「次へ」をクリックします。
「使用可能な製品コンポーネント」画面が表示されます。
次の製品が選択されていることを確認してください。
Oracle Data Provider for .NET 2.0
Oracle Providers for ASP.NET
Oracle Developer Tools for Visual Studio
Oracle Instant Client
「次へ」をクリックします。
Oracle Providers for ASP.NETを使用する場合は、ORACLE_BASE\\ORACLE_HOME
\client_1\ASP.NET\SQL
にあるSQLスクリプトを実行する必要があることを示す画面が表示されます。
「次へ」をクリックします。
「サマリー」ウィンドウが表示されます。
「インストール」をクリックしてインストールを完了します。
インストールの最後の画面が表示されます。再度、ASP.NETスクリプトをインストールするように指示されます。Oracle Providers for ASP.NETを使用する予定がある場合は、スクリプトをインストールします。
「終了」をクリックします。
Oracleクライアントが短縮名を使用してデータベースに接続できるように、tnsnames.ora
ファイルにデータベース・サーバーのアドレスを定義します。DBAから事前構成済のtnsnames.ora
ファイルがすでに提供されている場合もあります。
それ以外の場合は、ORACLE_BASE\\ORACLE_HOME
\network\admin\sample
ディレクトリに移動して、このディレクトリにあるtnsnames.ora
ファイルとsqlnet.ora
ファイルをORACLE_BASE\\ORACLE_HOME
\network\admin
ディレクトリにコピーする必要があります。
tnsnames.ora
ファイルに含まれる次の接続記述子を使用し、イタリック体で示されている値を使用環境に合わせて変更します。
例2-1 tnsnames.ora接続記述子
address name = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = hostname)(Port = port)) ) (CONNECT_DATA = (SERVICE_NAME = sid) ) )
値の説明:
sid
: データベース・サービス名
hostname
: データベース・コンピュータ名
port
: データベースとの通信に使用するポート
address
name
: 接続記述子として使用するユーザー定義の短縮名。この短縮名を.NETアプリケーションの接続文字列で使用します。
例2-2に、tnsnames.ora
ファイルの例を示します。
例2-2 tnsnames.oraファイルの例
ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) )
参照: 『Oracle Database Net Services管理者ガイド』 |
Oracle Providers for ASP.NETは、Oracle Database内のデータベース・ユーザーのスキーマのコンテキストにWebアプリケーションの状態を格納します。管理者は、アプリケーションの状態を格納するための新しいデータベース・ユーザーを作成できます。
このデータベース・ユーザーは単一の物理ユーザーにはマップされません。すべてのWebサイト・ユーザーのASP.NET情報を格納するためのリポジトリとして機能します。このため、この新しいデータベース・ユーザーのスキーマ内には、単一または複数のWebユーザーのアプリケーションの状態を格納できます。
注意: このチュートリアルでは、Oracle Providers for ASP.NETデータベース・ユーザーであることを示すために、このデータベース・ユーザーをASPNET_DB_USER と呼びます。 |
実行時に、ASP.NETアプリケーションは、接続文字列内でデータベース・ユーザーの資格証明を使用してデータベースに接続します。
Oracle Databaseを設定するには、データベース管理者がOracle Providers for ASP.NETデータベース・ユーザーのスキーマに特定のデータベース権限を付与する必要があります。これらの権限によって、データベース・ユーザーはOracle Providers for ASP.NETで必要な表、ビュー、ストアド・プロシージャなどのデータベース・オブジェクトを作成できます。
権限が付与されると、データベース・ユーザーはOracle Provider for ASP.NET構成スクリプトを実行できます。
参照: 詳細は、『Oracle Providers for ASP.NET開発者ガイド』を参照してください。 |
この項では、データベースにOracle Providers for ASP.NETをセットアップする手順について説明します。 このチュートリアルのASP.NETプロバイダの部分(第7章の後半)の内容を実行する予定がない場合は、この項を完了する必要はありません。 Oracle Providers for ASP.NETのセットアップでは、Oracle Developer Tools for Visual Studioを使用します。これは、セットアップの開始前にインストールする必要があります。
この項の内容は次のとおりです。
このチュートリアルでは、ASP.NETプロバイダのデータを格納するための新しいデータベース・ユーザー・スキーマASPNET_DB_USER
を作成します。ユーザーASPNET_DB_USER
に特定のデータベース権限を付与し、ASP.NETプロバイダのデータベース・スクリプトを実行してスキーマをセットアップします。 このスキーマには、表とストアド・プロシージャ以外に、Oracle Providers for ASP.NETに必要なその他のデータベース・オブジェクトが含まれます。
この項の内容は次のとおりです。
新しいユーザーを追加し、必要な権限を付与するには、次の手順を実行します。
SYS
または別のデータベース管理ユーザーとしてログインします。 詳細は、「SYSDBAとしての接続の作成」を参照してください。
Server Explorerの問合せウィンドウで、次のように新しいASPNET_DB_USER
ユーザーを作成します。
Server Explorerで、「SYS.ORCL」
を右クリックして「Query Window」を右クリックします。
問合せウィンドウで、次のコマンドを入力します。
create user ASPNET_DB_USER identified by your_password
この手順によって、入力したパスワードを持つユーザーASPNET_DB_USER
がデータベースに作成されます。
「Execute Query」(左上の緑色の矢印)をクリックしてこのコマンドを実行します。下部のウィンドウに、コマンドが正常に完了したことが示されます。
Server Explorerに戻り、「SYS.ORCL」
を再度選択し、右クリックして「Privileges...」を選択します。
ODTの「Grant/Revoke Privileges」ウィザードが表示されます。
ASP.NETプロバイダ用にスキーマを作成し、Webサイトの状態を格納できるように、新しいデータベース・ユーザーに権限を付与します。
「Object type」をUSER
に設定し、「User」をASPNET_DB_USER
に設定します。
注意: ASPNET_DB_USER を表示するには、リフレッシュが必要な場合があります。 |
中央の右矢印(>)を使用して、権限を「Available Privileges」リストから「Granted Privileges」リストに移動します。
通常、次の権限が必要となります。
変更の通知
ジョブの作成
プロシージャの作成
パブリック・シノニムの作成
ロールの作成
セッションの作成
表の作成
ビューの作成
パブリック・シノニムの削除
無制限の表領域: この例では、ASPNET_DB_USER
に無制限の表領域を付与します。ただし、ほとんどの場合、管理者はデータベース・ユーザーに特定の表領域の割当て制限を割り当てます。
「Apply」をクリックすると、出力ウィンドウに正常に実行されたことが示されます。「OK」をクリックします。
Oracle Providers for ASP.NETユーザーに必要な権限が付与されていない場合、設定スクリプトの実行時にエラーが発生する可能性があります。
データベース内のすべてのプロバイダを一度に構成するには、InstallAllOracleASPNETProviders.sql
を実行します。
このスクリプトをOracle Developer Toolsで実行するには、次の手順を実行します。
Visual Studioで、「Tools」を選択し、「Run SQL*Plus Script」を選択します。画面が表示されたら、「Browse」を選択します。
ORACLE_BASE\\ORACLE_HOME
\ASP.NET\sql
ディレクトリ(ORACLE_BASE\\ORACLE_HOME
はOracleホームを表す)を参照し、InstallAllOracleASPNETProviders.sql
を選択して「Open」をクリックします。
「Run SQL*Plus Script」画面が表示されたら、「New Connection」を選択します。
「Connection Properties」画面が表示されたら、データソースが「Oracle Database (Oracle ODP.NET)」で、データソース名が「ORCL」
であることを確認します。 その後、ユーザー名ASPNET_DB_USER
とパスワードを入力し、「Role」に「Default」を指定します。「OK」をクリックします。
場合によっては、「Oracle Server Login」ダイアログ・ボックスが表示されることもあります。 このような場合は、パスワードを保存するかどうかを選択できます。
「Run SQL*Plus Script」画面が再度表示されたら、「Run」を選択します。
このSQLファイルが実行され、バックグラウンドで、このスクリプトが正常に実行されたことが出力ウィンドウで確認されます。
スクリプトの実行が終了したら、「Cancel」を選択します。
アプリケーションで、すべてのOracle Providers for ASP.NETが必要であるとはかぎりません。 プロバイダは個別に設定できます。通常、他のインストール・スクリプトを実行する前にInstallOracleASPNETCommon.sql
インストール・スクリプトを実行する必要があります。このスクリプトによって、ASP.NETプロバイダの共通インフラストラクチャがセットアップされます。その後、必要なOracle Provider for ASP.NETに対して、それぞれ特定のSQLスクリプトを(任意の順序で)実行します。
これらのインストール・スクリプトは、ORACLE_BASE\\ORACLE_HOME
\ASP.NET\sql
ディレクトリにあります。
表2-1 Oracle Providers for ASP.NETの個別インストール・スクリプト
プロバイダ | 必要なインストール・スクリプト |
---|---|
Oracleメンバーシップ・プロバイダ |
|
Oracleパーソナライズ・プロバイダ |
|
Oracleプロファイル・プロバイダ |
|
Oracleロール・プロバイダ |
|
Oracleセッション状態プロバイダ |
これらのインストール・スクリプトには、対応する名前が付けられたアンインストール・スクリプトがあります。 注意: このプロバイダでは、 |
Oracleサイト・マップ・プロバイダ |
|
Oracle Webイベント・プロバイダ |
|
Oracleキャッシュ依存性プロバイダ |
スクリプトの実行は不要です。 |
インストール・スクリプトで作成したデータベース・オブジェクトを削除するには、対応するアンインストール・スクリプトを使用します。これらのスクリプトには、Uninstall
という接頭辞が付いています。
Oracle Providers for ASP.NET情報を格納および取得するように構成されたデータベースでは、中間層またはクライアントからASPNET_DB_USER
ユーザーに接続できる必要があります。
コンピュータの接続情報を構成するには、次の手順を実行します。
drive
:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG
にあるmachine.config
ファイルに移動します。
テキスト・エディタで、<connectionStrings>
を検索し、<add name="OraAspNetConString"..
で始まる行を変更して、ユーザーID、パスワード、データ・ソース・エントリ、データ・ソースおよびプロバイダ名を次のように追加します。
<connectionStrings> <add name="OraAspNetConString" connectionString="User Id=aspnet_db_user;Password=your_password;Data Source=orcl;" providerName="Oracle.DataAccess.Client" /> </connectionStrings>
注意: パスワードは、作成済のパスワードに変更してください。 また、改行は必ず削除してください。接続文字列にコピーしてしまった場合があります。 |
開発者は、machine.config
ファイルの<system.web>
セクションで、各ASP.NETプロバイダのプロパティをカスタマイズできます。
machine.config
ファイルはOracle Universal Installerによって自動的に構成されますが、開発者はweb.config
ファイルを使用してOracle Providers for ASP.NETに対してよりファイングレインなアプリケーション・レベルの制御を適用できます。このファイルは、machine.config
ファイルのエントリより優先されますが、関連付けられている特定のWebアプリケーションに対してのみ適用されます。開発者は、machine.config
ファイルと同じXML構文でweb.config
ファイルを設定できます。