请执行sp_addlinkedserver 将该服务器添加到sysserver解决办法
Posted on 2011-03-09 09:56 Nuke'Blog 阅读(3182) 评论(0) 编辑 收藏 举报
公司数据库升级成SQL2005了,原来的SQL2000数据库直接附件上去后,发现添加数据的时候报SQL错误“请执行sp_addlinkedserver 将该服务器添加到sysserver解决办法”。在网上找了好多文章,都说需要执行sp_addlinkedserver 这个存储教程,要在执行SQL命令的SQL Server器上进行设置,于是赶紧查看关于sp_addlinkedserver 系统存储过程的资料,但细分析,原其实还有更简便的方法,不需要在SQL查询分析器中执行任何查询的查询存储过程。
以下是我总结的两个解决系统报“在sysservers 中找不到服务器 'www.Supidea.com'。请执行sp_addlinkedserver 将该服务器添加到sysservers。”的方法。
解决方法1:(Supidea.com 强烈推荐)
对于SQL Server可以采用“SQLOLEDB”作为@provider,也就是说只要修改一下连接语句就好了。
原来的SQL连接语句为:ConnData="driver={SQL Server};server=www.supidea.com;uid=www.supidea.com;pwd=supidea.com;database=Supidea"
修改使用“SQLOLEDB”作为@provider的连接语句为:ConnData="Provider=SQLOLEDB.1;Persist Security Info=false;server=www.supidea.com;uid=www.supidea.com;pwd=supidea.com;database=supidea"
简单点说:也就是把连接语句中的driver={SQL Server}”换为Provider=SQLOLEDB.1;Persist Security Info=false;就可以了
解决方法2:
还有一种方法说那便使用执行下面的存储过程来解决,但因看上去比较麻烦,所以不推荐。
EXEC sp_addlinkedserver
@server = 'www.supidea.com',
@provider = 'MSDASQL',
@provstr = 'DRIVER={SQL Server};SERVER=www.supidea.com;UID=sa;PWD=www.supidea.com;'
--@server是以后执行SQL命令时引用的服务器名,它可以任意命名,不一定需要与真实SQL Server服务器同名。
--@provider请按资料表格中提供的参数给定。
如果上面说明的请执行sp_addlinkedserver 将该服务器添加到sysserver解决办法都不能解决您遇到的问题,那可能就是SQL数据库的问题了,您可能需要重装SQL来解决此问题
总结:
在写SQL连接语句的时候,尽量使用“SQLOLEDB”作为@provider来连接:“Provider=SQLOLEDB.1;Persist Security Info=false;”,这样的连接语句感觉比“driver={SQL Server}”的兼容性能要来的稳定。
本博原创文章,转载请注明文章来源Supidea.com请执行sp_addlinkedserver 将该服务器添加到sysserver解决办法
以下是我总结的两个解决系统报“在sysservers 中找不到服务器 'www.Supidea.com'。请执行sp_addlinkedserver 将该服务器添加到sysservers。”的方法。
解决方法1:(Supidea.com 强烈推荐)
对于SQL Server可以采用“SQLOLEDB”作为@provider,也就是说只要修改一下连接语句就好了。
原来的SQL连接语句为:ConnData="driver={SQL Server};server=www.supidea.com;uid=www.supidea.com;pwd=supidea.com;database=Supidea"
修改使用“SQLOLEDB”作为@provider的连接语句为:ConnData="Provider=SQLOLEDB.1;Persist Security Info=false;server=www.supidea.com;uid=www.supidea.com;pwd=supidea.com;database=supidea"
简单点说:也就是把连接语句中的driver={SQL Server}”换为Provider=SQLOLEDB.1;Persist Security Info=false;就可以了
解决方法2:
还有一种方法说那便使用执行下面的存储过程来解决,但因看上去比较麻烦,所以不推荐。
EXEC sp_addlinkedserver
@server = 'www.supidea.com',
@provider = 'MSDASQL',
@provstr = 'DRIVER={SQL Server};SERVER=www.supidea.com;UID=sa;PWD=www.supidea.com;'
--@server是以后执行SQL命令时引用的服务器名,它可以任意命名,不一定需要与真实SQL Server服务器同名。
--@provider请按资料表格中提供的参数给定。
如果上面说明的请执行sp_addlinkedserver 将该服务器添加到sysserver解决办法都不能解决您遇到的问题,那可能就是SQL数据库的问题了,您可能需要重装SQL来解决此问题
总结:
在写SQL连接语句的时候,尽量使用“SQLOLEDB”作为@provider来连接:“Provider=SQLOLEDB.1;Persist Security Info=false;”,这样的连接语句感觉比“driver={SQL Server}”的兼容性能要来的稳定。
本博原创文章,转载请注明文章来源Supidea.com请执行sp_addlinkedserver 将该服务器添加到sysserver解决办法