环境:SQL Server 2008(X64) 建立Link server 连接Oracle 10g
Link Server可以连通,但是就是无法使用事务,错误信息如下:链接服务器"FCSORACLE"的 OLE DB 访问接口 "OraOLEDB.Oracle" 返回了消息 "新事务不能登记到指定的事务处理器中。 "。
消息 7391,级别 16,状态 2,第 6 行
无法执行该操作,因为链接服务器 "FCSORACLE" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 无法启动分布式事务。SQL和Oracle两边的MSDTC已经配置正确。

解决方案 »

  1.   

    没试过sqlserver和oracle的dtc,给几个建议看看
    1 msdtc服务有没有启动 
    2 msdtc通讯需要使用135端口,建议把防火墙等全部关掉 
    3 权限问题 管理工具-组件服务 MSDTC选项卡中,点击“安全配置”按钮,将相关的访问都打开,如果都是windows的机器那可以选择验证方式
      

  2.   

    set    xact_abort   on  
    begin  distributed   tran 
      

  3.   

    参考
    http://blog.csdn.net/kinzey34/archive/2006/10/10/1329282.aspx
      

  4.   

    还有着一个,专门对oracle进行了说明,挺细的
    http://blog.csdn.net/akuoma/archive/2010/01/29/5269496.aspx
      

  5.   

    http://support.microsoft.com/kb/280106里面有同类错误,消息9自己排除下。