Quill設定ファイルの定義、記述内容について記載します。
Quill設定ファイルの定義、記述内容について記載します。
Quillの設定情報は下記ファイルのいずれかに記述します。
適用条件
Seasar.Quill.QuillConfig.ConfigPath = "c:/hoge.config"; // 任意のファイルパス
ConfigPathに設定したパス上のファイル内にあるQuill設定情報が適用されます。
適用条件
アプリケーション構成ファイル(App.config)で「quill」セクションを使うためには、以下のようにconfigSections/section要素を追加します。
App.config
<configuration>
<configSections>
<section name="quill"
type="Seasar.Quill.Xml.QuillSectionHandler, Seasar.Quill" />
</configSections>
・・・
<configuration>
適用条件
Quill設定情報は「quill」セクションに記述します。
設定する項目は下記の通りです。
設定例
<quill>
<dataSources>
<dataSource name="ds">
<provider>SqlServer</provider>
<connectionString>"(接続文字列)"</connectionString>
<class>Seasar.Extension.Tx.Impl.TxDataSource</class>
</dataSource>
</dataSources>
<assemblys>
<assembly>(データベースドライバ)</assembly>
</assemblys>
</quill>
各データソースの定義は「dataSource」タグに記述し、
複数データソースを定義する場合は「dataSources」タグ内に
各データソースの設定を書いていきます。
dataSourcesで定義されたデータソースは
Seasar.Quill.Database.DataSource.Impl.SelectableDataSourceProxyWithDictionaryという
クラスのインスタンスでQuillコンテナ内に保持し、DBアクセス時に使用します。
dataSourceタグ内で設定する内容は以下の通りです。
データソースをアプリケーション中で一意に識別するための名前です。
ADO.NET上で使うクラス名を保持するSeasar.Extension.ADO.DataProvider継承クラス名です。
独自のプロバイダクラスを使う場合は名前空間付きで指定します。
Quill内にあらかじめ定義されているプロバイダクラスを使用する場合は
クラス名のみの指定で使用可能です。
以下のプロバイダがQuill内に定義されています。
| プロバイダ | 説明 |
|---|---|
| SqlServer | SQLServer用プロバイダクラス |
| ODP | ODP.NET(Oracle)用プロバイダクラス |
| Oracle | Oracle用プロバイダクラス |
| DB2 | DB2用プロバイダクラス |
| MySQL | MySQL用プロバイダクラス |
| PostgreSQL | PostgreSQL用プロバイダクラス |
| Firebird | Firebird用プロバイダクラス) |
| SQLite | SQLite用プロバイダクラス) |
| OleDb | OleDb用プロバイダクラス) |
クラスを指定する方法と文字列を直接書く方法があります。
クラスを指定する場合は
Seasar.Quill.Database.DataSource.Connection.IConnectionStringインターフェースを
実装し、「connectionString」タグにクラス名を名前空間付きで指定して下さい。
文字列で直接書く場合は接続文字列を「"」で囲って指定して下さい。
データソースは以下の優先順序でQuill内に保持されます。
Seasar.Extension.ADO.Impl.DataSourceImplや
Seasar.Extension.Tx.Impl.TxDataSourcelなどの
Seasar.Extension.ADO.IDataSource実装クラス名を
名前空間付きで指定します。
※使用可能なデータソースはS2Container.NETと同じです。
※トランザクションを利用する場合は必ず
Seasar.Extension.Tx.Impl.TxDataSourcel.TxDataSource、
またはその継承クラスを使用して下さい。
設定例
<quill>
<!-- (他設定は省略) -->
<!-- データソース設定 -->
<dataSources>
<dataSource name="ds">
<provider>SqlServer</provider>
<connectionString>"Server=localhost(途中略)"</connectionString>
<class>Seasar.Extension.Tx.Impl.TxDataSource</class>
</dataSource>
</dataSources>
</quill>
Seasar.Quill.QuillContainer(Quill用DIコンテナ)初期化時に読み込むアセンブリを
「assemblys」、「assembly」で指定します。
S2Dao.NETなどを使用する場合は下記アセンブリ名を指定します。
| 使用機能 | アセンブリ名 |
|---|---|
| S2Dao.NET | Seasar.Dao |
| S2Windows.NET | Seasar.Windows |
| S2Dxo.NET | Seasar.Dxo |
SQLServer以外のデータベースを使用する
(SqlServer以外のプロバイダを利用する)場合は
参照するプロバイダ用のアセンブリも指定する必要があります。
設定例(Oracle Data Providerを使用する場合)
<quill>
<!-- (省略) -->
<!-- ロードするアセンブリ名 -->
<assemblys>
<assembly>Seasar.Dao</assembly>
<!-- Oracle Data Provider for .NET を使用する場合に必要です。 -->
<assembly>Oracle.DataAccess, version=10.2.0.100, Culture=neutral,
PublicKeyToken=89b483f429c47342</assembly>
</assemblys>
<!-- (省略) -->
</quill>
S2Daoの機能を使用する際に適用される設定クラスを指定します。
設定例
<quill>
<!-- S2Dao設定 -->
<daoSetting>Hoge.CustomDaoSetting</daoSetting>
<!-- (他設定は省略) -->
</quill>
S2Dao設定の詳細はこちらをご覧下さい。
トランザクションをかける箇所を指定する際に適用される
設定クラスを指定します。
設定例
<quill>
<!-- Transaction設定 -->
<transactionSetting>Hoge.CustomTransactionSetting</transactionSetting>
<!-- (他設定は省略) -->
</quill>
トランザクション設定の詳細はこちらをご覧下さい。