[seasar-dotnet:1251] Re: Quillでsqliteを使うには?

koyak [E-MAIL ADDRESS DELETED]
2009年 1月 21日 (水) 13:47:19 JST


黒柳さん

小谷です。

>       <provider>SQLite</provider>
こちらにプロバイダクラス名だけで指定可能なDBは下記URLに記載されている
プロバイダのみになります。
SQLiteは現在のところ対応しておりません。
http://s2container.net.seasar.org/ja/quill.html#nodicon

しかし、ご指摘の通りSeasar.NETとしてはSQLiteは利用可能です。
以下の手順で設定(作成)を行ってみて下さい。

1.Seasar.Extension.ADO.DataProviderを継承したクラスを作成する。
2.1.で作成したクラスのコンストラクタの中で
 ConnectionType 、CommandType、ParameterType、DataAdapterTypeプロパティに
 SQLite用のクラス名を名前空間付きで指定する。

(作成例)
public class SQLite: DataProvider
    {
        public SQLite()
        {
            ConnectionType = "System.Data.SQLite.SQLiteConnection";
            CommandType = "System.Data.SQLite.SQLiteCommand";
            ParameterType = "System.Data.SQLite.SQLiteParameter";
            DataAdapterType = "System.Data.SQLite.SQLiteDataAdapter";
        }
    }

3.設定ファイルのproviderセクション(黒柳さんが「SQLite」と設定されていた所)に
 1.で作成したクラス名を名前空間付きで指定する
<provider>xxx.xxxx.SQLite</provider>

2009/01/21 12:16 Hitoshi Kuroyanagi <[E-MAIL ADDRESS DELETED]>:
> いつもお世話になります、黒柳と申します。
>
> Quillを使用してsqliteにアクセスする必要があり、調べてみたのですがうまく接続ができません。
> メーリングリストを探してみましたがQuillでの設定方法が見つかりませんでした。
> 参照設定では System.Data.SQLite を参照させており
> app.configには以下のように記述しております。
> <configuration>
> <quill>
>   <dataSources>
>     <!-- SQLite -->
>     <dataSource name="sqlite">
>       <provider>SQLite</provider>
>       <connectionString>"Data Source=test.db;"</connectionString>
>       <class>Seasar.Extension.Tx.Impl.TxDataSource</class>
>     </dataSource>
>   </dataSources>
>  </quill>
> </configuration>
>
> このときエラーとしては
> [EQLL0032]プロバイダ名(Seasar.Quill.Database.Provider.SQLite)に誤りがあります。<dataSource>セクション中の<provider>の設定を確認し...
> とあります。
>
> KindOfDbms.csの列挙型に  SQLite とあり
> Seasar.Dao.Dbms/SQLite.cs
> もあったことから上記のような設定をしてみたのですが、正しくはどのように設定すればよいのでしょうか?
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>


seasar-dotnet メーリングリストの案内