Seasarプロジェクト ＞ Seasar.NETプロジェクト ＞ S2Container.NET ＞ データベース接続 ＞ アプリケーション構成ファイルを使用した設定方法

# 目次

上へ

アプリケーション構成ファイルを使用した設定方法では、ADO.NET 2.0の機能であるSystem.Data.Common.DbProviderFactoryクラス を内部で使用します。次のコンポーネントをdiconファイルに登録する必要があります。

- データソース
- アプリケーション構成ファイル

# データソース

上へ

データソースの設定にはSeasar.Extension.Tx.Impl.TxDataSourceクラスを使います。 アプリケーション構成ファイルに定義したプロバイダ名を設定します。

プロパティ | 説明 | 例
--- | --- | ---
ProviderInvariantName | アプリケーション構成ファイルに定義する接続文字列名を指定します。必須です。 | provider

コンポーネントの設定は以下のようになります。環境に合わせて書き換えてください。

Ado.dicon

    <components namespace="Ado">
      <!-- トランザクション用のDataSource -->
      <component name="DataSource" class="Seasar.Extension.Tx.Impl.TxDataSource">
        <property name="ProviderInvariantName">"provider"</property>
      </component>

      <!-- ローカルトランザクション用のインターセプターで使用します -->
      <component name="TransactionContext"
          class="Seasar.Extension.Tx.Impl.TransactionContext">
        <property name="IsolationLevel">
            System.Data.IsolationLevel.ReadCommitted
        </property>
      </component>
    </components>

# アプリケーション構成ファイル

上へ

アプリケーション構成ファイルには、プロバイダ名（必須）とデータプロバイダのアセンブリ（任意）を設定する必要があります。

プロバイダ名の設定では、アプリケーション構成ファイルの <connectionStrings> 構成セクションデータソースに指定する接続文字列名、プロバイダ名、接続文字列を指定します。 詳細は、MSDN ADO.NET 2.0 基本クラスおよびファクトリによる汎用的なコーディングを参照してください。

また、.NET Frameworkデータプロバイダ for SQL Server以外の.NET Frameworkデータプロバイダを使用する場合、 アプリケーション構成ファイルに.NET Frameworkデータプロバイダのアセンブリを登録する必要があります。 アプリケーション構成ファイルの <seasar> 構成セクションにアセンブリを指定します。

App.config

    <configuration>
      <configSections>
        <section name="seasar"
            type="Seasar.Framework.Xml.S2SectionHandler, Seasar" />
      </configSections>

      <connectionStrings>
        <add name="provider"
            connectionString=
            "Server=(local);database=s2dotnetdemo;Integrated Security=SSPI"
            providerName="System.Data.SqlClient"/>
      </connectionStrings>

      <seasar>
        <assemblys>
          <!-- .NET Framework Data Provider for Oracle を使用する場合に必要です。 -->
          <assembly>System.Data.OracleClient, version=1.0.5000.0,
    Culture=neutral, PublicKeyToken=b77a5c561934e089</assembly>
          <!-- Firebird .NET Data Provider を使用する場合に必要です。 -->
          <!--
          <assembly>FirebirdSql.Data.Firebird, Version=1.7.0.1,
    Culture=neutral, PublicKeyToken=fa843d180294369d</assembly>
          -->
        </assemblys>
      </seasar>
    </configuration>

© Copyright The Seasar Project and the others 2004-2009, all rights reserved.