那就是字符串的问题吧,
参考这个 :)
http://www.connectionstrings.com/?carrier=sqlserver2005

解决方案 »

  1.   

    我执行了EXEC sp_dropserver 'EZONEDATA'
    GO
    EXEC sp_addserver 'EZONEDATA'
    GO
    EXEC sp_serveroption 'EZONEDATA', 'data access', 'true'后。。又提示Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' [Microsoft][ODBC SQL Server Driver][SQL Server]此游标不包括正在修改的表,或该表不能通过此游标更新。 这个错误
      

  2.   

    先是Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' [Microsoft][ODBC SQL Server Driver][SQL Server]在 sys.servers 中找不到服务器 'EZONEDATA'。请验证指定的服务器名称是否正确。如果需要,请执行存储过程 sp_addlinkedserver 以将服务器添加到 sys.servers。 
    这个错误。。后来我添加了后EXEC sp_addserver 'EZONEDATA'
    GO
    EXEC sp_serveroption 'EZONEDATA', 'data access', 'true'

    sp_addlinkedserver

    sp_addlinkedsrvlogin
    也添加过都是报Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' [Microsoft][ODBC SQL Server Driver][SQL Server]此游标不包括正在修改的表,或该表不能通过此游标更新。 这个错误。
      

  3.   

    应该是你Linked Server建立是否正确?
    是否有权限操作Linked Server拉?
    远程连接操作_整理贴2
    http://topic.csdn.net/u/20080612/22/bb2dfa83-1cf3-4a0b-9bd4-5a39e6193556.html
      

  4.   

    从网上搜了半天也未找到解决方案
    因为程序比较多。不可能把它们全部修改成connection.Execute
      

  5.   

    不是远程链接啊貌似
    我是从A机器用ASP的SQL语句,去连接和操作B机器的数据库
      

  6.   


    原先就可以连接上
    可以用recordset去读
    可以用connection.Execute "insert or select or update"
    不过不可以用recordset.update
    数据库原先在另一台局域网内的机器就可以
    后来换成了一台外网的服务器,就出现这个问题了。。
      

  7.   

    就是换完后
    我指的原先就是没有加sp_addserver前然后我按5楼描述的操作。。操作了下,就是那样的结果
      

  8.   

    好了。。问题已经解决了原因就在于改了计算机名而sql server里的sysservers表里没有即时更新而只是添加EXEC sp_addserver 'EZONEDATA' 则没有效果而后我把里面所有的东西全不干掉了
    用sp_dropserver然后在EXEC sp_addserver 'EZONEDATA', 'local', 'duplicate_OK'然后重起sqlserver(我是直接重新起的计算机)
    即可