QuillでSQLiteを使ってみる
QuillでSQLiteをアクセスしようと思い調べてみたが
Seasar.NETでは対応されているもののQuillでは未対応らしい。
ただ独自のプロバイダクラスを作成することで何とかなるようだ
http://s2container.net.seasar.org/ja/quill.html#nodicon_assembly
Seasarメーリングリストで問い合わせたら、すぐに回答いただきました、感謝です。
以下MLからの引用です。
1. http://sqlite.phxsoftware.com/ からSQLite.NETをダウンロードしてインストールする
2. Seasar.Extension.ADO.DataProviderを継承したクラスを作成する。
3. 2.で作成したクラスのコンストラクタの中でConnectionType 、CommandType、ParameterType、DataAdapterTypeプロパティにSQLite用のクラス名を名前空間付きで指定する。
public class SQLite: Seasar.Extension.ADO.DataProvider { public SQLite() { ConnectionType = "System.Data.SQLite.SQLiteConnection"; CommandType = "System.Data.SQLite.SQLiteCommand"; ParameterType = "System.Data.SQLite.SQLiteParameter"; DataAdapterType = "System.Data.SQLite.SQLiteDataAdapter"; } }
4. 設定ファイルのproviderセクションに2.で作成したクラス名を名前空間付きで指定する
5. 設定ファイルのassemblyセクションにSystem.Data.SQLiteを指定する
<configuration> <quill> <assemblys> <assembly>Seasar.Quill</assembly> <assembly>Seasar.Dxo</assembly> <assembly>Seasar.DynamicProxy</assembly> <!-- SQLite.NET を使用する場合に必要です。 --> <assembly>System.Data.SQLite</assembly> </assemblys> <dataSources> <!-- SQLite --> <dataSource name="sqlite"> <provider>xxx.xxxx.SQLite</provider> <connectionString>"Data Source=test.db;"</connectionString> <class>Seasar.Extension.Tx.Impl.TxDataSource</class> </dataSource> </dataSources> </quill> </configuration>