Oracle Database 2日で.NET開発者ガイド 11g リリース1(11.1) E05695-02 |
|
この章の内容は次のとおりです。
この項では、このマニュアルで紹介する例を実行するために必要な製品とデータベース・スキーマを示します。
ローカルまたはリモート・コンピュータのいずれかに、Oracle Databaseをインストールしておく必要があります。
データベースは、ユーザー・インタフェースであるEnterprise Managerを使用して管理できます。Enterprise Managerでは、スクリプトや問合せを実行したりその他の操作を実行できます。
このマニュアルで使用するサンプル・データは、Oracleサンプル・スキーマの1つであるHR
スキーマに含まれています。このサンプル・スキーマは、Oracle Databaseインストールの一部として含まれています。
Oracle Data Access Components(ODAC)は、次のツールのコレクションです。
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のスクリーンショットを参照)。このマニュアルの第8章を完了する予定がある場合にのみ、このアップグレードを実行し、Oracle Database Extensions for .NETをインストールする必要があります。
Visual Studio 2008を使用する場合は、インストールしてから、このマニュアルに示す手順に進む必要があります。
Microsoft Visual Studio 2005を使用する場合は、スクリーン・ショット、ショートカット、メニュー・オプションおよび生成されるコードが若干異なることはありますが、通常、問題が発生することはありません。
次の手順は、Visual Studioをインストールした後で行う、Oracle Developer Tools for Visual Studio(ODT)、Oracle Data Provider for .NETおよびその他のODAC製品のインストール方法を示しています。
http://www.oracle.com/technology/software/tech/windows/odpnet/index.html
Oracle Installerが起動します。必要な依存オブジェクトを検出する画面が短い間表示された後、Oracle Universal Installer(OUI)の「ようこそ」画面が表示されます。
「インストールする製品の選択」画面が表示されます。
このオプション(ODAC for Oracle Client)を選択すると、クライアントのOracleホームで使用する製品のみがインストールされます。2番目のオプション(ODAC for Oracle Server)を選択すると、Oracle Databaseが含まれるOracleホームに直接インストールできます。
「インストールの場所」ウィンドウが表示されます。このウィンドウで、インストールする場所を選択できます。デフォルトでは、クライアントのOracleホームが新しく作成されます。このマニュアルでは、デフォルトを受け入れて新しいOracleホームを作成します。
インストーラにより前提条件のチェックが実行されます。各チェックのステータスは「成功しました」になる必要があります。
「使用可能な製品コンポーネント」画面が表示されます。
次の製品が選択されていることを確認してください。
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
ファイルに含まれる次の接続記述子を使用し、イタリック体で示されている値を使用環境に合わせて変更します。
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
ファイルの例を示します。
ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) )
Oracle Providers for ASP.NETを使用すると、データベース・ユーザーのスキーマのコンテキストに基づいてOracle Database内にWebアプリケーションの状態を格納できます。管理者は、新しいデータベース・ユーザーを作成してアプリケーションの状態を格納できます。
このデータベース・ユーザーは、単一の物理ユーザーにはマップされませんが、すべてのWebサイト・ユーザーのASP.NET情報を格納するためのリポジトリとして機能します。したがって、単一または複数のWebユーザーのアプリケーションの状態をこの新しいデータベース・ユーザーのスキーマ内に格納することができます。
実行時に、ASP.NETアプリケーションは、接続文字列にデータベース・ユーザーの資格証明を使用してデータベースに接続します。
Oracle Databaseを設定するには、データベース管理者がOracle Providers for ASP.NETデータベース・ユーザーのスキーマに特定のデータベース権限を付与する必要があります。データベース・ユーザーは、これらの権限を使用して、表、ビュー、ストアド・プロシージャなどのOracle Providers for ASP.NETで必要なデータベース・オブジェクトを作成できます。
権限が付与されると、データベース・ユーザーは、Oracle Provider for ASP.NET構成スクリプトを実行できます。
この項では、データベースにOracle Providers for ASP.NETを設定する手順について説明します。このチュートリアルのASP.NETプロバイダに関する項(第7章の後半)を学習する予定がない場合は、この項も学習する必要はありません。Oracle Providers for ASP.NETの設定では、Oracle Developer Tools for Visual Studioを使用するため、設定を開始する前にインストールしておく必要があります。
この項の内容は次のとおりです。
このチュートリアルでは、新しいデータベース・ユーザー・スキーマASPNET_DB_USER
を作成してASP.NETプロバイダのデータを格納します。ユーザーASPNET_DB_USER
に特定のデータベース権限を付与し、ASP.NETプロバイダのデータベース・スクリプトを実行してスキーマを設定します。このスキーマに、Oracle Providers for ASP.NETに必要な表、ストアド・プロシージャなどのデータベース・オブジェクトが格納されます。
この項の内容は次のとおりです。
新しいユーザーを追加し、必要な権限を付与するには、次の手順を実行します。
SYS
または別のデータベース管理ユーザーとしてログインします。詳細は、「SYSDBAとしての接続の作成」を参照してください。
ASPNET_DB_USER
ユーザーを次のように作成します。
SYS.ORCL
を再度選択して右クリックし、「権限」を選択します。これによって、ODTの「権限の付与/取消し」ウィザードが起動されます。
USER
、「ユーザー」をASPNET_DB_USER
に設定します。通常必要な権限は次のとおりです。
ASPNET_DB_USER
無制限表領域が付与されます。ただし、ほとんどの場合、管理者がデータベース・ユーザーに特定の表領域割当て制限を割り当てます。「適用」をクリックすると、出力ウィンドウに正常に実行されたことが示されます。「OK」をクリックします。
Oracle Providers for ASP.NETユーザーに必要な権限が付与されていない場合は、設定スクリプトの実行時にエラーが発生することがあります。
データベースですべてのプロバイダをすぐに構成するには、InstallAllOracleASPNETProviders.sql
を実行します。
Oracle Developer Toolsでこのスクリプトを実行するには、次の手順を実行します。
ORACLE_BASE
¥
ORACLE_HOME
¥ASP.NET¥sql
ディレクトリ(ORACLE_BASE
¥
ORACLE_HOME
はOracleホームを表す)を参照し、InstallAllOracleASPNETProviders.sql
を選択して「開く」を選択します。「接続プロパティ」画面が表示されたら、データソースがOracle Database(Oracle ODP.NET)であり、データソース名がORCL
であることを確認します。次に、「ロール」を「デフォルト」に設定して、ユーザー名ASPNET_DB_USER
およびパスワードを入力します。「OK」をクリックします。
「Oracleサーバー・ログイン」ダイアログ・ボックスが表示される場合もあります。その場合は、パスワードを保存するかどうかを選択できます。
SQLファイルが実行され、バックグラウンドでは、スクリプトが正常に実行されたことが出力ウィンドウで確認されます。
アプリケーションにすべてのOracle Providers for ASP.NETが必要ない場合もあります。プロバイダは、個別に設定することができます。通常は、他のインストール・スクリプトを実行する前にInstallOracleASPNETCommon.sql
インストール・スクリプトを実行する必要があります。これによって、ASP.NETプロバイダに共通のインフラストラクチャが設定されます。その後、必要なOracle Provider for ASP.NETに対して個別に特定のSQLスクリプトを(任意の順序で)実行します。
これらのインストール・スクリプトは、ORACLE_BASE
¥
ORACLE_HOME
¥ASP.NET¥sql
ディレクトリにあります。
対応するアンインストール・スクリプトを使用して、インストール・スクリプトで作成したデータベース・オブジェクトを削除します。これらのスクリプトには、接頭辞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>
開発者は、各ASP.NETプロバイダのプロパティをmachine.config
ファイルの<system.web>
セクション内からカスタマイズできます。
machine.config
ファイルはOracle Universal Installer によって自動的に構成されますが、開発者は、web.config
ファイルを使用して、Oracle Providers for ASP.NETに対してより詳細なアプリケーション・レベルの制御を適用できます。このファイルによって、machine.config
ファイルからのエントリは変更されますが、関連付けられている特定のWebアプリケーションの場合にかぎります。開発者は、machine.config
ファイルと同じXML構文を使用してweb.config
ファイルを設定できます。
|
![]() Copyright © 2009 Oracle Corporation. All Rights Reserved. |
|