[seasar-dotnet:1388] 複数データソースを試していますがうまくいきません

masami sakamaki [E-MAIL ADDRESS DELETED]
2009年 6月 18日 (木) 00:20:07 JST


はじめまして。坂巻と申します。

複数データソースについて、以前話題があったと思いますが
同じことをしてみて、うまくいかないので質問させてください。

動作環境は
 DB:Oracle
 Framework:.NET 3.5
 DBFlute:0.8.8
 S2Dao:1.3.13.0

データベースはDB1とDB2があります。その設定はQuillに適切に
行いました。
また、それぞれのDBFluteの生成も行いました。

Transaction属性を指定しない場合、DB1とDB2のそれぞれのEntity
に対しSelect(Entity)やUpdateすることは出来ました。
また[Transaction]だけで、Transaction属性を指定したら
トランザクションが聞いていないようです。
(Update後にExceptionが発生してもRollbackしなかった)

今度はTxSettingを指定してみました。
(トランザクション属性は単一しか使えないので、メソッドをネスト
して、トランザクション属性を2段でやりました)
コードのイメージは下記
(Method1およびMethod2ともにAOPがかかるメソッドです)

[Transaction(typeof(DB1.TxSetting))]
public void Method1()
{
  Method2();
}

[Transaction(typeof(DB2.TxSetting))]
public void Method2()
{
  SelectDB2
  SelectDB1
  UpdateDB2
  UpdateDB1
}

こんな感じでやってみましたら、SelectDB1のところで
「表が見つかりません」というエラーになりました。

この様子から、トランザクションをネストした場合、後の
トランザクションのデータベースしか見えていないようですが
他に何か設定などは必要でしょうか?!。

ご指導いただければ幸いです。





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