Liny_@NotePad

沉迷ACG中

链接服务器的种种……

YOYO posted @ 2010年12月01日 00:16 in 【数据库】 with tags MSSQL , 2327 阅读

开发环境:

程式开发PC:Windows XP SP3
目标服务器A:Windows 2003 SP2,SQL Server 2005
用来中转(链接到服务器A的)服务器B:Windows 2003 SP2,SQL Server 2005

  • 该操作未能执行,因为 OLE DB 提供程序SQLOLEDB没法启动分布式事务
    这个问题有很多原因,参见:http://topic.csdn.net/t/20040608/12/3073266.html

    我的原因很囧,偷懒在服务器A上创建了个自链接服务器,结果在客户端管理工具里正常,在程式里却报这个错误。
    貌似是不支持环形调用的(是说在被链接服务器上不能有访问发起事务服务器上的请求啥啥的),于是换了个服务器B链接到A,再访问B调试就成功了。
     
  • 未将服务器配置成"RPC"
    通过客户端管理工具调用链接服务器上的存储过程时出现,修改链接服务器的属性,将RPC和RPC OUT设置为true即可。
    参考:http://blog.csdn.net/by84788186/archive/2009/03/03/3951631.aspx
     
  • 无法执行该操作,因为链接服务器 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务。
    虽然通过客户端管理工具已经能正常访问存储过程,但通过程式还是不行,按照前面那个链接里的改了半天未果,最后发现代码里面写了事务语句,囧,干掉就好了。

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter