为了账号安全,请及时绑定邮箱和手机立即绑定

大哥大姐们,关于ADO.NET蛋疼的问题,求热心的园友们给我点建议,急丶急丶急

大哥大姐们,关于ADO.NET蛋疼的问题,求热心的园友们给我点建议,急丶急丶急

慕丝7291255 2018-12-07 05:27:22
公司封装了操作数据库的DAL类库,可是在项目中总是会出现如下的错误:   1. The server failed to resume the transaction. Desc:540000098d. 2. The transaction active in this session has been committed or aborted by another session. 3. New request is not allowed to start because it should come with valid transaction descriptor 4. Cannot find table 0.(这个错误最近没了)   还有个问题就是为什么这些错误不是经常发生,而是到一定时间或者次数之后才发生,真是费解啊!   这些在网上找了很多,可是就没有找到合适的答案,也很仔细的看了源码,只怪自己功力不够,没有找出问题的根本原因! 希望能得到热心园友帮忙,如果有需要我可以给你看源码!
查看完整描述

11 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

hi , 2楼和3楼可能都说到点子上了。我查了下google 发现有人用ef的时候也碰到类似问题,结果是Context没有使用静态导致。所以我担心你那类库或者你使用的时候是否是唯一对象或者是是否没用静态对象?或者用单例也行,但是要保证多线程单列

查看完整回答
反对 回复 2019-01-21
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

Cannot find table 0?这个可能是没数据导致的。程序那边没作判断处理。

查看完整回答
反对 回复 2019-01-21
?
墨色风雨

TA贡献1853条经验 获得超6个赞

看到事务错误,我估计你们的代码没控制好事务和连接的关系。

查看完整回答
反对 回复 2019-01-21
?
守着一只汪

TA贡献1872条经验 获得超3个赞

有空帮我看看源码吗?求助

查看完整回答
反对 回复 2019-01-21
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

@程序猿就是我: 非常抱歉,没有时间帮你看源码。你可以先把SqlTransaction和SqlConnection的关系和作用范围搞清楚后再去浏览你们的代码。

查看完整回答
反对 回复 2019-01-21
?
烙印99

TA贡献1829条经验 获得超13个赞

检查一下连接数据库的时候是不是采用了静态方法

查看完整回答
反对 回复 2019-01-21
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

我在写数据库类库类库的时候,可以使用单列模式吗?

查看完整回答
反对 回复 2019-01-21
?
慕容708150

TA贡献1831条经验 获得超4个赞

看看是不是发生这种情况:

DbConnection conn1,conn2;

DbTransaction tranOfconn1 = conn1.BeginTransaction()

DbCommand cmdOfConn2; cmdOfConn2.Connection = conn2;

cmdOfConn2.Transaction = tranOfconn1;//!!!!

cmdOfConn2.ExecuteNoneQuery();//Error:2. The transaction active in this session has been committed or aborted by another session.

查看完整回答
反对 回复 2019-01-21
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

看起来项目很大,你用的是英文版的吗??

查看完整回答
反对 回复 2019-01-21
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

你说的VS是英文版吗?项目不算太大,大哥对于上面的几个错误问题,有什么建议可以给我的吗?

求指教!

查看完整回答
反对 回复 2019-01-21
  • 11 回答
  • 0 关注
  • 504 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信