• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    SQLServer2005触发器提示其他会话正在使用事务的上下文的解决方法

    MSDN上看了一下说是sql server 2005不支持在分布式事务处理中存在指向本地的链接服务器(环回链接服务器)
    个人尝试了下是由于在双向的sql server访问中采用了链式方式访问(LinkedServer方式),遇到这种情况只需要将原来访问对方数据库的语句:

    复制代码 代码如下:

    select  *  from  linkedServerA.dbo.table1

    修改为:

    复制代码 代码如下:

    select  *  from  dbo.table1

    即可。

    触发器代码如下:

    复制代码 代码如下:

    create trigger tgr_dressNotice_insert
    on dress_notice_config
        ---with encrypion –--加密触发器
        after insert  ----update级别trigger
    as
    begin
        --as raisError('tgr_dressNotice_insert触发器被触发', 16, 10);
       /* 定义变量 */
       declare @sDBServer char(20)  /*用于存放目的数据库*/
       declare @sSql varchar(600)  
       declare @server varchar(100)
       declare @oadb varchar(100)

       select @oadb=db_server from dic_organ where valid='1' and rank in('A','B') and organ_id='000000'
       set @server=rtrim(@oadb) + '.dbo.spoa_exec_string'

       /*define cursor*/
       declare db_cursor cursor for
           select db_server from dic_organ where valid='1' and rank in('A','B') and organ_id>'000000'

       /*open cursor*/
       OPEN db_cursor
       FETCH NEXT FROM db_cursor
       INTO @sDBServer

       while(@@Fetch_status = 0)
           begin
                /*将数据同步更新到各个分局的数据库中*/
                set @sSql='delete from ' + RTRIM(@sDBServer) + '.dbo.dress_notice_config'
                print @sSql           
                exec @server @sSql
                set @sSql='insert into ' + RTRIM(@sDBServer) + '.dbo.dress_notice_config select * from dress_notice_config'    
                print @sSql
                exec @server @sSql

                FETCH NEXT from db_cursor
                   into @sDBServer
           end

        --最后关闭游标
        close db_cursor
        deallocate db_cursor
    end
    go

    您可能感兴趣的文章:
    • SQL SERVER中各类触发器的完整语法及参数说明
    • SqlServer触发器详解
    • SQL Server实现用触发器捕获DML操作的会话信息【实例】
    上一篇:SQLSERVER分布式事务使用实例
    下一篇:SQL Server无法生成FRunCM线程的解决方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    SQLServer2005触发器提示其他会话正在使用事务的上下文的解决方法 SQLServer2005,触发器,提示,