Seasarプロジェクト ＞ Seasar.NETプロジェクト ＞ S2Container.NET ＞ データベース接続 ＞ S2Container.NET独自の設定方法

# 目次

上へ

S2Container.NET独自の設定方法では、次のコンポーネントをdiconファイルに登録する必要があります。

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

# データプロバイダ

上へ

データプロバイダの設定にはSeasar.Extension.ADO.DataProviderクラスを使います。 DataProviderクラスの以下のプロパティを設定します。

プロパティ | 説明 | 例
--- | --- | ---
ConnectionType | System.Data.IDbConnectionインターフェースを実装する.NET Frameworkデータプロバイダのクラス名を設定します。 必須です。 | "System.Data.SqlClient.SqlConnection"
CommandType | System.Data.IDbCommandインターフェースを実装する.NET Frameworkデータプロバイダのクラス名を設定します。 必須です。 | "System.Data.SqlClient.SqlCommand"
ParameterType | System.Data.IDbParameterインターフェースを実装する.NET Frameworkデータプロバイダのクラス名を設定します。 必須です。 | "System.Data.SqlClient.SqlParameter"
DataAdapterType | System.Data.IDbDataAdapterインターフェースを実装する.NET Frameworkデータプロバイダのクラス名を設定します。 必須です。 | "System.Data.SqlClient.SqlDataAdapter"

# データソース

上へ

データソースの設定にはSeasar.Extension.Tx.Impl.TxDataSourceクラスを使います。 DataProviderクラスの以下のプロパティでデータプロバイダと接続文字列を設定します。

プロパティ | 説明 | 例
--- | --- | ---
DataProvider | DataProviderのインスタンス名を指定します。S2Containerで指定する場合は、 DataProviderのコンポーネント名を設定します。必須です。 | SqlClient
ConnectionString | データベースに接続するための接続文字列を指定します。 System.Data.IDbConnection.ConnectionStringプロパティに設定する文字列です。必須です。 ※ 「\」(エンマーク)は「\\」とエスケープする必要があります。 例えばSQL Server 2005にインスタンス名を指定して接続する場合は「コンピュータ名\\インスタンス名」となります。 | "Server=MYPC\\SQLEXPRESS; database=s2dotnetdemo;Integrated Security=SSPI"

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

Ado.dicon

    <components namespace="Ado">
      <!--.NET Framework Data Provider for SQL Server を使用する場合に必要です。-->
      <component name="SqlClient" class="Seasar.Extension.ADO.DataProvider">
        <property name="ConnectionType">
            "System.Data.SqlClient.SqlConnection"
        </property>
        <property name="CommandType">
            "System.Data.SqlClient.SqlCommand"
        </property>
        <property name="ParameterType">
            "System.Data.SqlClient.SqlParameter"
        </property>
        <property name="DataAdapterType">
            "System.Data.SqlClient.SqlDataAdapter"
        </property>
      </component>

      <!-- トランザクション用のDataSource -->
      <component name="DataSource" class="Seasar.Extension.Tx.Impl.TxDataSource">
        <property name="DataProvider">SqlClient</property>
        <property name="ConnectionString">
            "Server=(local);database=s2dotnetdemo;Integrated Security=SSPI"
        </property>
      </component>

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

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

上へ

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

App.config

    <configuration>
      <configSections>
        <section name="seasar"
            type="Seasar.Framework.Xml.S2SectionHandler, Seasar" />
      </configSections>
      <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.