如题:
因为要更新远程数据库,数据库A更新到数据库B.其中库A和库B 不在同一台机器.我的代码如下:
exec sp_addlinkedserver   'ITSV', ' ', 'SQLOLEDB', '192.168.1.69' insert openquery(ITSV,  'SELECT *  FROM CRM.dbo.远程表') 
select * from 本地表错误提示:
链接服务器"(null)"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "登录超时已过期"。
链接服务器"(null)"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "建立到服务器的连接时发生错误。连接到 SQL Server 2005 时,默认设置 SQL Server 不允许远程连接这个事实可能会导致失败。"。
消息 126,级别 16,状态 1,第 0 行
VIA 提供程序: 找不到指定的模块。如果用openrowset 如下.还是没有得到解决select * into 本地表 from openrowset('sqloledb','192.168.1.69';'sa';'123',CRM.dbo.远程表)错误提示:
消息 7314,级别 16,状态 1,第 1 行
链接服务器 "(null)" 的 OLE DB 访问接口 "SQLNCLI" 不包含表 ""CRM"."dbo"."BCD""。该表不存在,或者当前用户没有访问该表的权限。
如果反过来 
select * into 远程表 from openrowset( 'SQLOLEDB' , '192.168.1.30' ; 'sa' ; '123' ,CRM.dbo.本地表)
这样倒是可以成功.
请问我的问题出在哪里,应该怎么解决...

解决方案 »

  1.   

    如果加上机器名则和第一个错误提示一样.
    链接服务器"(null)"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "登录超时已过期"。
    链接服务器"(null)"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "建立到服务器的连接时发生错误。连接到 SQL Server 2005 时,默认设置 SQL Server 不允许远程连接这个事实可能会导致失败。"。
    消息 126,级别 16,状态 1,第 0 行
    VIA 提供程序: 找不到指定的模块。
      

  2.   

    select *  from openrowset('sqloledb','192.168.1.69';'sa';'123',CRM.dbo.远程表)可以运行吗?
      

  3.   


    SQLEXPRESS
    MSSQLSERVER这两个实例都试过了.还是出现一样的错误提示.
    不知道是不是我系统上面的问题还是怎样....