世界線航跡蔵

Mad web programmerのYuguiが技術ネタや日々のあれこれをお送りします。

2007年01月11日

S2Dao.NETで普通に複数DBに接続できた

できましたよっと。

やりたかったこと

一部のテーブルだけ他のデータベースサーバーに置いてあるので、それらのDAOは他のDAOで使っているのとは別のコネクションを張って使いたい。

設定

  • app.dicon
    • module.dicon
      • s2dao.dicon
        • ado.dicon
      • exceptional-entities.dicon
        • other-db-s2dao.dicon
          • other-db-ado.dicon

diconのinclude関係をこんな感じにして、例外的に他のデータベースを使うDAO interface(仮にIHogeDaoとしよう)はexceptional-entities.diconに収めた。で、第二のコネクションに関する設定はexceptional-entities.dicon以下にぶら下がってるother-db-s2dao.dicon, other-db-ado.diconに入れた。これはs2dao.dicon, ado.diconとはコネクションの設定だけが違う。

最初はこんな風にしていて、はまった。

  • app.dicon
    • module.dicon
      • s2dao.dicon
        • ado.dicon
      • other-db-s2dao.dicon
        • other-db-ado.dicon

IHogeDaoをmodule.diconに入れてしまったのだ。s2dao.diconで定義したinterceptorとother-db-s2dao.diconで定義したのとは名前空間が違うから、other-db-s2dao.diconで定義したinterceptorをaspectに指定すればOKかと思ったのだけれども。でも走らせて見たら、なんかother-db-s2dao.diconで定義したinterceptorでクエリを走らせたところで固まって、結局timeoutしてしまった。トランザクション関係が怪しい?

もう一段dicon includeをかませてみたら、うまくいった。

参考

トラックバック

http://yugui.jp/articles/578/ping
D2Dao.NETで複数DBに接続 (FujiiHの部屋)
ここのところ、仕事が忙しいことを言い訳にして、コミッタらしい仕事をしていません。 とはいえ、忘れているわけでありませんぞ。 仕事の合間に気分転換にググってみたら、S2DAO.NETに複数DBに接続してみた方がおられました。 やってみたいと思いながら、できていなか...

コメント

blog comments powered by Disqus

ご案内

前の記事
次の記事

タグ一覧

過去ログ

  1. 2016年07月
  2. 2016年01月
  3. 2015年09月
  4. 2015年08月
  5. 過去ログ一覧

フィード

フィードとは

その他

Powered by "rhianolethe" the blog system