Foxtable(狐表)用户栏目专家坐堂 → 两个数据源下的数据库事务


  共有94人关注过本帖树形打印复制链接

主题:两个数据源下的数据库事务

帅哥哟,离线,有人找我吗?
tld
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:736 积分:7662 威望:0 精华:0 注册:2017/2/3 10:29:00
两个数据源下的数据库事务  发帖心情 Post By:2024/6/14 15:57:00 [只看该作者]

老师好,两个数据源,分别是 y1 与y2, 只有当 bo 与 boo 都为true的时候, 才执行事务。 下面的代码有没有问题? 谢谢老师

dim cmd1 as new sqlcommand
cmd1.Conn ectionName=“Y1”

dim cmd2 as new sqlcommand
cmd2.Conn ectionName=“Y2”

dim bo as boolen=true
dim boo as boolen=true
        Try
            cmd1.BeginTransaction 
            cmd1.CommandText = "---------")
            cmd1.ExecuteNonQuery
            bo = True 
        Catch ex As Exception 
            bo = False
            cmd1.Rollback
            Return 
        End Try 
-----------------------------------------
        Try
            cmd2.BeginTransaction 
            cmd2.CommandText = "---------")
            cmd2.ExecuteNonQuery
            boo = True 
        Catch ex As Exception 
            boo = False
            cmd2.Rollback
            Return 
        End Try 
----------------------------
if bo=true andalso boo=too then
    cmd1.Commit
    cmd2.Commit
end if

[此贴子已经被作者于2024/6/14 15:58:14编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107604 积分:547323 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/6/14 16:06:00 [只看该作者]

不同数据源是无法进行事务同一处理的。无法像上面这样使用

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107604 积分:547323 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/6/14 16:07:00 [只看该作者]

事务2回滚的时候也必须回滚事务1

        Catch ex As Exception 
            boo = False
            cmd1.Rollback
            cmd2.Rollback
            Return 
        End Try 

 回到顶部