[seasar-dotnet:1027] Re: 動的に複数DBファイルを作成して、複数同時にアクセス

Yoshihiro OSHITA [E-MAIL ADDRESS DELETED]
2008年 10月 20日 (月) 21:06:36 JST


小谷様、
お世話になっています、大下です。
返信が遅くなり、申し訳ありません。

小谷さんの助言を無視するようなコードになっていて申し訳ないのですが、
添付ファイルにあるようなコードをかいてみたところ動作しました。
ただ、
>CreateTxDataSourceが呼ばれる度に
>・TransactionContextクラスのインスタンスが作られる(一つであるべき)
>・共通データソースのSelectableDataSourceProxyWithDictionaryが
>新しく作られたTxDataSourceのインスタンスで上書きされる
>という処理が流れるため
>正常にDBアクセス、トランザクションが行えなくなります。

ということなので、このコードだとまずいということですよね。
よって、

>1.
>TxSetupper#CreateTxDataSourceの
>「// TransactionContext」から最後のreturn文の一行前までは
>削除する必要があると思います。
としてみたところ、以下のような例外が発生いたしました。
--------
ハンドルされていない例外: System.NullReferenceException: オブジェクト参照がオブジェクト
インスタンスに設定されていません。
場所 Seasar.Extension.Tx.Impl.TxDataSource.GetConnection()
場所 l:\…\MyS2DaoSample\Seasar\Seasar.Extension.Tx\Impl\TxDataSource.cs:行51
場所 Seasar.Extension.ADO.Impl.AbstractSelectableDataSourceProxy.GetConnectio
n()
場所 l:\
…\MyS2DaoSample\Seasar\Seasar.Extension.ADO\Impl\AbstractSelectableDataSourceProxy.cs:行
70
場所 MySelectDataSourceSample.LibraryLogic.InitTable()
場所 l:\ …MyS2DaoSample\MySelectDataSourceSample\Program.cs:行 45
場所 MySelectDataSourceSample.Program.Main(String[] args)
場所 l:\…\MyS2DaoSample\MySelectDataSourceSample\Program.cs:行 179
続行するには何かキーを押してください . . .
--------
TransactionContextは、どのタイミングで作成してやるべきなのでしょうか。

2008/10/20 1:47 koyak <[E-MAIL ADDRESS DELETED]>:

> 大下さん
>
> またもや連続投稿失礼します。
> 小谷です。
>
> >2.
> >折角登録したデータソースの名前を指定(SetDataSourceNameを呼ぶ)
> >しているコードが(貼り付けていただいた範囲のコードには)見当たりません。
>
> 大変失礼しました!
> Main関数の中でちゃんと呼ばれていますね。
> 2については撤回させて下さい。
>
> 1.についての対応をお願い致します。
>
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-dotnet/attachments/20081020/d3405fc8/attachment-0001.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ILibraryDao.cs
URL: <http://ml.seasar.org/archives/seasar-dotnet/attachments/20081020/d3405fc8/attachment-0003.pl>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Library.cs
URL: <http://ml.seasar.org/archives/seasar-dotnet/attachments/20081020/d3405fc8/attachment-0004.pl>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Program.cs
URL: <http://ml.seasar.org/archives/seasar-dotnet/attachments/20081020/d3405fc8/attachment-0005.pl>


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