sqlserver中,对远程oracle链接服务器的事务问题
我在sqlserver中建立一个远程oracle链接服务器(名为MYORACLE),可以执行增删查改的操作。
执行sqlserver中的一个带事务的存储过程,此过程中包含 对远程oracle的一个insert操作,
却报错
链接服务器"MYORACLE"的 OLE DB 访问接口 "OraOLEDB.Oracle" 返回了消息 "新事务不能登记到指定的事务处理器中。
一定要像网上说的开启MSDTC、防火墙之类的配置吗?因为我对于这个两个服务器都没有太多的操作权限,只有一些基本的对数据库的操作。
比如下面这种过程:
1、查sqlserver中 3条数据,
2、插入到 oracle 3条数据,
3、插入oracle成功,则更新sqlserver中 3条数据的状态为‘sent’
4、更新sqlserver 成功,则整个过程 完成。其中任何一个操作出错,所有的操作都回滚。
在我的理解中,这种东西只能用事务处理,如果不用事务,有什么其他方法能做到吗?