日期:2014-05-18  浏览次数:20465 次

请教opendatasource的问题
执行一段sql,用到了opendatasource来连接两台机器里的表,如:
SQL code

update _a
    set _a.g_product=_b.product
    from  t_c_ims_ims_city_FL000000000000000019  _a
    left join   opendatasource( 'SQLOLEDB','Data Source=192.168.0.13;User ID=dev;Password=developer').BY_DSS_ALL_MAIN_001.dbo.t_ims_hosp_city _b
    on _a.product=_b.product



但是报如下错误:

链接服务器"(null)"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "登录超时已过期"。
链接服务器"(null)"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "与 SQL Server 建立连接时发生了与网络相关的或特定于实例的错误。找不到或无法访问服务器。请检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。"。
消息 53,级别 16,状态 1,第 0 行
命名管道提供程序: 无法打开与 SQL Server 的连接 [53]. 


这是怎么回事呢?

------解决方案--------------------
探讨
我发现这个语句在另外一台机器上可以运行,不能运行的这台机器上访问接口缺少MSDASQL,不知道是否这个原因,怎样加上啊?请指教

------解决方案--------------------
检查下不能运行的这台服务器的网络设置,端口,防火墙等