本地触发器   我用Enterprise Manager手工添加时触发, 就出现了上面的错误.但是如果改成select * from test.newtest.dbo.w_test 就没有错误!

解决方案 »

  1.   

    try:1、
    SET IMPLICIT_TRANSACTIONS  OFF2、
    本地和远程都需要启动
    DISTRIBUTED TRANSACTION COORDINATOR服务。
      

  2.   

    是!你用:begin tran
    insert xx.xx.dbo.xx ......
    commit tran也不行
      

  3.   

    CREATE TRIGGER [tr_Test] ON dbo.test 
    FOR INSERT 
    AS
    SET IMPLICIT_TRANSACTIONS  OFF
    begin tran
    insert Test.newtest.dbo.w_test(hxString,Ynn) values('xingxing','0')
    commit tran--执行插入过程的时候还是出原来的错.
      

  4.   

    Could not start a transaction for OLE DB provider 'MSDASQL'.
    [OLE/DB provider returned message: ODBC 驱动程序无法启动新事务。]
    [OLE/DB provider returned message: [Microsoft][ODBC 驱动程序管理器] 在事务服务器组件事务中发生非法操作]
      

  5.   

    如果在查询器里象上面的那样写就出现上面的错误
    如果在查询器里只写insert Test.newtest.dbo.w_test(hxString,Ynn) values('xingxing','0')  就可以执行!
      

  6.   

    我是说begin tran
    insert xx.xx.dbo.xx ......
    commit tran在触发器里和这个一样都不能启动分布事务
      

  7.   

    CREATE TRIGGER [tr_Test] ON dbo.test 
    FOR INSERT 
    AS
       insert Test.newtest.dbo.w_test(hxString,Ynn) values('xingxing','0')
    这样也还是出错阿.