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