ヘッダーをスキップ
Oracle Database 2日で.NET開発者ガイド
11gリリース2(11.2)
B56266-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

2 .NET製品のインストール

この章の内容は次のとおりです。

必要事項

この項では、このマニュアルで紹介する例を実行するために必要な製品とデータベース・スキーマを示します。

Oracle Database

ローカルまたはリモート・コンピュータのいずれかに、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

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 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のバージョン

Visual Studio 2008を使用する場合は、このマニュアルに示す手順を進める前にインストールする必要があります。 Microsoft Visual Studio 2005を使用した場合、スクリーンショット、ショートカット、メニュー・オプションおよび生成されるコードが若干異なることはありますが、通常、問題が発生することはありません。

.NET製品のインストール

次の手順は、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に基づいています。

インストールを行うには、次の手順を実行します。

  1. インターネット・ブラウザで、次の場所に移動してODACとOracle Developer Tools for Visual Studioをダウンロードします。

    http://www.oracle.com/technology/software/tech/windows/odpnet/index.html
    
  2. すべてのファイルをzipファイルからファイル・システムのフォルダに抽出します。

  3. Setup.exeをダブルクリックします。

    Oracle Installerが起動します。必要な依存オブジェクトを検出する画面が短い間表示された後、Oracle Universal Installer(OUI)の「ようこそ」画面が表示されます。

    install01.gifの説明が続きます。
    install01.gifの説明

  4. 「次へ」をクリックします。

    「インストールする製品の選択」画面が表示されます。

    install02.gifの説明が続きます。
    install02.gifの説明

  5. 最初のオプションを選択します。

    このオプション(ODAC for Oracle Client)を選択すると、クライアントのOracleホームで使用する製品のみがインストールされます。2番目のオプション(ODAC for Oracle Server)を選択すると、Oracle Databaseが含まれるOracleホームに直接インストールできます。

  6. 「次へ」をクリックします。

    「インストールの場所」ウィンドウが表示されます。このウィンドウで、インストールする場所を選択できます。デフォルトでは、クライアントのOracleホームが新しく作成されます。このマニュアルでは、デフォルトを受け入れて新しいOracleホームを作成します。

    install03.gifの説明が続きます。
    install03.gifの説明

  7. 「次へ」をクリックします。

    インストーラにより前提条件のチェックが実行されます。各チェックのステータスは「成功しました」になる必要があります。

    install04.gifの説明が続きます。
    install04.gifの説明

  8. 「次へ」をクリックします。

    「使用可能な製品コンポーネント」画面が表示されます。

    次の製品が選択されていることを確認してください。

    • Oracle Data Provider for .NET 2.0

    • Oracle Providers for ASP.NET

    • Oracle Developer Tools for Visual Studio

    • Oracle Instant Client

    install05.gifの説明が続きます。
    install05.gifの説明

  9. 「次へ」をクリックします。

    Oracle Providers for ASP.NETを使用する場合は、ORACLE_BASE\\ORACLE_HOME\client_1\ASP.NET\SQLにあるSQLスクリプトを実行する必要があることを示す画面が表示されます。


    注意:

    ORACLE_BASE\\ORACLE_HOMEは、使用しているOracleホームを表すディレクトリです。

  10. 「次へ」をクリックします。

    「サマリー」ウィンドウが表示されます。

    install06.gifの説明が続きます。
    install06.gifの説明

  11. 「インストール」をクリックしてインストールを完了します。

    インストールの最後の画面が表示されます。再度、ASP.NETスクリプトをインストールするように指示されます。Oracle Providers for ASP.NETを使用する予定がある場合は、スクリプトをインストールします。

  12. 「終了」をクリックします。

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 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を使用します。これは、セットアップの開始前にインストールする必要があります。

この項の内容は次のとおりです。

Oracle Providers for ASP.NETデータベース・ユーザーのセットアップ

このチュートリアルでは、ASP.NETプロバイダのデータを格納するための新しいデータベース・ユーザー・スキーマASPNET_DB_USERを作成します。ユーザーASPNET_DB_USERに特定のデータベース権限を付与し、ASP.NETプロバイダのデータベース・スクリプトを実行してスキーマをセットアップします。 このスキーマには、表とストアド・プロシージャ以外に、Oracle Providers for ASP.NETに必要なその他のデータベース・オブジェクトが含まれます。

この項の内容は次のとおりです。

ユーザーの作成および権限の付与

新しいユーザーを追加し、必要な権限を付与するには、次の手順を実行します。

  1. SYSまたは別のデータベース管理ユーザーとしてログインします。 詳細は、「SYSDBAとしての接続の作成」を参照してください。

  2. Server Explorerの問合せウィンドウで、次のように新しいASPNET_DB_USERユーザーを作成します。

    1. Server Explorerで、「SYS.ORCL」を右クリックして「Query Window」を右クリックします。

      aspnt_install01.gifの説明が続きます。
      aspnt_install01.gifの説明

    2. 問合せウィンドウで、次のコマンドを入力します。

      create user ASPNET_DB_USER identified by your_password
      

      この手順によって、入力したパスワードを持つユーザーASPNET_DB_USERがデータベースに作成されます。

      aspnt_install02.gifの説明が続きます。
      aspnt_install02.gifの説明

    3. 「Execute Query」(左上の緑色の矢印)をクリックしてこのコマンドを実行します。下部のウィンドウに、コマンドが正常に完了したことが示されます。

  3. Server Explorerに戻り、「SYS.ORCL」を再度選択し、右クリックして「Privileges...」を選択します。

    aspnt_install03.gifの説明が続きます。
    aspnt_install03.gifの説明

    ODTの「Grant/Revoke Privileges」ウィザードが表示されます。

  4. ASP.NETプロバイダ用にスキーマを作成し、Webサイトの状態を格納できるように、新しいデータベース・ユーザーに権限を付与します。

    • 「Object type」をUSERに設定し、「User」をASPNET_DB_USERに設定します。


      注意:

      ASPNET_DB_USERを表示するには、リフレッシュが必要な場合があります。

    • 中央の右矢印(>)を使用して、権限を「Available Privileges」リストから「Granted Privileges」リストに移動します。

      通常、次の権限が必要となります。

      • 変更の通知

      • ジョブの作成

      • プロシージャの作成

      • パブリック・シノニムの作成

      • ロールの作成

      • セッションの作成

      • 表の作成

      • ビューの作成

      • パブリック・シノニムの削除

      • 無制限の表領域: この例では、ASPNET_DB_USERに無制限の表領域を付与します。ただし、ほとんどの場合、管理者はデータベース・ユーザーに特定の表領域の割当て制限を割り当てます。

      aspnt_install04.gifの説明が続きます。
      aspnt_install04.gifの説明

      「Apply」をクリックすると、出力ウィンドウに正常に実行されたことが示されます。「OK」をクリックします。

      Oracle Providers for ASP.NETユーザーに必要な権限が付与されていない場合、設定スクリプトの実行時にエラーが発生する可能性があります。

すべてのOracle Providers for ASP.NETの構成

データベース内のすべてのプロバイダを一度に構成するには、InstallAllOracleASPNETProviders.sqlを実行します。

このスクリプトをOracle Developer Toolsで実行するには、次の手順を実行します。

  1. Visual Studioで、「Tools」を選択し、「Run SQL*Plus Script」を選択します。画面が表示されたら、「Browse」を選択します。

    aspnt_install05a.gifの説明が続きます。
    aspnt_install05a.gifの説明

  2. ORACLE_BASE\\ORACLE_HOME\ASP.NET\sqlディレクトリ(ORACLE_BASE\\ORACLE_HOMEはOracleホームを表す)を参照し、InstallAllOracleASPNETProviders.sqlを選択して「Open」をクリックします。

    aspnt_install05.gifの説明が続きます。
    aspnt_install05.gifの説明

  3. 「Run SQL*Plus Script」画面が表示されたら、「New Connection」を選択します。

    「Connection Properties」画面が表示されたら、データソースが「Oracle Database (Oracle ODP.NET)」で、データソース名が「ORCL」であることを確認します。 その後、ユーザー名ASPNET_DB_USERとパスワードを入力し、「Role」に「Default」を指定します。「OK」をクリックします。

    aspnt_install06.gifの説明が続きます。
    aspnt_install06.gifの説明

    場合によっては、「Oracle Server Login」ダイアログ・ボックスが表示されることもあります。 このような場合は、パスワードを保存するかどうかを選択できます。

  4. 「Run SQL*Plus Script」画面が再度表示されたら、「Run」を選択します。

    aspnt_install07.gifの説明が続きます。
    aspnt_install07.gifの説明

    このSQLファイルが実行され、バックグラウンドで、このスクリプトが正常に実行されたことが出力ウィンドウで確認されます。

  5. スクリプトの実行が終了したら、「Cancel」を選択します。

個別のOracle Providers for ASP.NETの構成

アプリケーションで、すべての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メンバーシップ・プロバイダ

InstallOracleMembership.sql

Oracleパーソナライズ・プロバイダ

InstallOraclePersonalization.sql

Oracleプロファイル・プロバイダ

InstallOracleProfile.sql

Oracleロール・プロバイダ

InstallOracleRoles.sql

Oracleセッション状態プロバイダ

InstallOracleSessionState.sql(Oracle Database 10g リリース1以上の場合)

InstallOracleSessionState92.sql(Oracle Database 9i リリース2の場合)

これらのインストール・スクリプトには、対応する名前が付けられたアンインストール・スクリプトがあります。

注意: このプロバイダでは、InstallOracleASPNETCommon.sqlの実行は不要です。プロバイダ固有の.sqlインストール・スクリプトのみを実行する必要があります。

Oracleサイト・マップ・プロバイダ

InstallOracleSiteMap.sql

Oracle Webイベント・プロバイダ

InstallOracleWebEvents.sql

Oracleキャッシュ依存性プロバイダ

スクリプトの実行は不要です。


Oracle Providers for ASP.NET用スキーマのアンインストール

インストール・スクリプトで作成したデータベース・オブジェクトを削除するには、対応するアンインストール・スクリプトを使用します。これらのスクリプトには、Uninstallという接頭辞が付いています。

接続文字列の設定

Oracle Providers for ASP.NET情報を格納および取得するように構成されたデータベースでは、中間層またはクライアントからASPNET_DB_USERユーザーに接続できる必要があります。

コンピュータの接続情報を構成するには、次の手順を実行します。

  1. drive:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIGにあるmachine.configファイルに移動します。

  2. テキスト・エディタで、<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>
    
    

    注意:

    パスワードは、作成済のパスワードに変更してください。 また、改行は必ず削除してください。接続文字列にコピーしてしまった場合があります。

様々なセットアップに対応するためのOracle Providers for ASP.NETのカスタマイズ

開発者は、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ファイルを設定できます。