S2Container.NET TOPページへ
S2Container.NET(バージョン1.1以降)では、データベースとの接続機能に対応しています。
S2Tx.NETと連動してトランザクション中にコネクションを取得し閉じるということを何度か行っても、トランザクションは維持されます。
トランザクションは、Aspectで自動的に処理することができます。
セットアップ
DataProvider, TxDataSourceの設定を行います。
Seasar.Extension.ADO.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のインスタンス名を指定します。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>
<component name="DataSource" class="Seasar.Extension.Tx.Impl.TxDataSource">
<property name="DataProvider">SqlClient</property>
<property name="ConnectionString">"Server=127.0.0.1;database=s2dotnetdemo;Integrated Security=SSPI"</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>
|