Quillで複数データベースにアクセス

Quillで複数のデータベースにアクセスするための設定に手間取ったので
その結果を書いておきます。

複数のデータベース(データソース)に接続するために必要なものは

1.App.config内のdataSourcesタグにデータソースの設定を記述

Quillで簡単DI+AOP - S2Container.NET にあるように設定ファイル(App.config)の
quill」セクション内の「dataSources」タグ内に各データソースの設定を書きます。

    <dataSources>
      <!-- Oracle -->
      <dataSource name="Oracle">
        <provider>Oracle</provider>
        <connectionString>...</connectionString>
        <class>Seasar.Extension.ADO.Impl.DataSourceImpl</class>
      </dataSource>
      <!-- PostgreSQL -->
      <dataSource name="PostgreSQL">
        <provider>PostgreSQL</provider>
        <connectionString>...</connectionString>
        <class>Seasar.Extension.ADO.Impl.DataSourceImpl</class>
      </dataSource>
    </dataSources>

上の設定内容の中のタグの中に指定するクラスは
Seasar.Extension.ADO.IDataSourceに対する実装クラス名を指定する必要があり
データソース毎に別のクラスを指定しないといけません。
Seasar.Extension.ADO.Impl.DataSourceImplやSeasar.Extension.Tx.Impl.TxDataSourceImplの継承クラスをデータソース毎に作成し、コンストラクタを記述します。
koyakさんのご指摘によりカスタムデータソース実装クラスは不要であることがわかりました。
koyakさんありがとうございます。

2.データソース毎にSeasar.Quill.Dao.IDaoSetting実装クラスを作成する

    public class OracleDaoSetting : Seasar.Quill.Dao.Impl.AbstractDaoSetting
    {
        protected override void SetupDao(IDataSource dataSource)
        {
            BasicCommandFactory commandFacoty = new BasicCommandFactory();
            BasicDataReaderFactory dataReaderFactory = new BasicDataReaderFactory(commandFacoty);
            FieldAnnotationReaderFactory annotationReaderFactory = new FieldAnnotationReaderFactory();
            _daoMetaDataFactory = new DaoMetaDataFactoryImpl( dataSource, commandFacoty, annotationReaderFactory, dataReaderFactory);
            _daoInterceptor = new S2DaoInterceptor(_daoMetaDataFactory);
        }
        public override String DataSourceName
        {
            get { return "Oracle"; } // App.config内のデータソース設定の<dataSource name="Oracle"> の記述に合わせる
        }
    }

3.DaoクラスにS2Dao属性を使用し、カスタム設定を適用させる

    [S2Dao(typeof(OracleDaoSetting))] 
    [Implementation]
    [Bean(typeof(HogeDto))]
    public interface IOracleDao
    {
       int insert(HogeDto dto);
    }

このような設定で複数のデータソースへのアクセスができました。