This project is read-only.
1
Vote

在MSDTC不能用的情况下怎么办?

description

我把NBear.Data.SqlServer.DbProvider.SupportADO20Transaction改为了false
但是每次访问数据库,都是创建的新连接,而原来的连接没有断开
如果手动调用BeginTransaction()的话,要改的代码太多了
而且看了代码,改SupportADO20Transaction为false跟手动调用BeginTransaction()的效果是一样的

comments

izee wrote Sep 27, 2010 at 6:02 PM

找到问题所在了
DbTransaction在Commit成功后,其Connection属性为NULL,但是该连接并没有被关闭
BeginTransaction创建了新连接
但是
CloseTransaction却并没有关闭连接

izee wrote Sep 27, 2010 at 6:13 PM

现在,我在所有Commit之前,将DbTransaction的Connection属性,赋予给一个DbConnection变量
在CloseTransaction时,同时把这个变量Close,Dispose
目前一切正常

wrote Feb 14, 2013 at 12:40 AM