帮助与文档

当前位置: 主页 > 网站建设 > 正文

两种MSSQL报sp_addlinkedserver错误的解决办法

时间:2019-11-07 23:20   来源:米安数据   作者:虚拟主机助手   点击:
  客户数据库升级成MSSQL2005了,原来的MSSQL2000数据库直接附件上去后,发现添加数据的时候报SQL错误“请执行sp_addlinkedserver 将该服务器添加到sysserver解决办法”。在网上找了好多文章,都说需要执行sp_addlinkedserver 这个存储教程,要在执行SQL命令的SQL Server器上进行设置,于是赶紧查看关于sp_addlinkedserver 系统存储过程的资料,但细分析,原其实还有更简便的方法,不需要在SQL查询分析器中执行任何查询的查询存储过程。
 
  以下是我总结的两个解决系统报“在sysservers 中找不到服务器 '。请执行sp_addlinkedserver 将该服务器添加到sysservers。”的方法。
 

  第一种解决办法:

 
  对于SQL Server可以采用“SQLOLEDB”作为@provider,也就是说只要修改一下连接语句就好了。
 
  原来的SQL连接语句为:ConnData="driver={SQL Server};server=www.baidu.com;uid=www.baidu.com;pwd=baidu.com;database=baidu"
 
  修改使用“SQLOLEDB”作为@provider的连接语句为:ConnData="Provider=SQLOLEDB.1;Persist Security Info=false;server=www.baidu.com;uid=www.baidu.com;pwd=baidu.com;database=baidu"
 
  简单点说:也就是把连接语句中的driver={SQL Server}”换为Provider=SQLOLEDB.1;Persist Security Info=false;就可以了
 

  第二种解决办法:

 
  还有一种方法说那便使用执行下面的存储过程来解决,但因看上去比较麻烦,所以不推荐。
 
  EXEC sp_addlinkedserver
 
  @server = 'www.baidu.com',
 
  @provider = 'MSDASQL',
 
  @provstr = 'DRIVER={SQL Server};SERVER=www.baidu.com;UID=sa;PWD=www.baidu.com;'
 
  --@server是以后执行SQL命令时引用的服务器名,它可以任意命名,不一定需要与真实SQL Server服务器同名。
 
  --@provider请按资料表格中提供的参数给定。
 
  如果上面说明的请执行sp_addlinkedserver 将该服务器添加到sysserver解决办法都不能解决您遇到的问题,那可能就是SQL数据库的问题了,您可能需要重装SQL来解决此问题
 
  总结:在写SQL连接语句的时候,尽量使用“SQLOLEDB”作为@provider来连接:“Provider=SQLOLEDB.1;Persist Security Info=false;”,这样的连接语句感觉比“driver={SQL Server}”的兼容性能要来的稳定。


       用这两种方法就可以简单的解决掉这个问题,你学会了吗?更多的技巧,欢迎持续关注我们!

版权保护: 本文「两种MSSQL报sp_addlinkedserver错误的解决办法」由 虚拟主机助手 原创,转载请保留链接: https://www.miandns.com/docs/site/13.html