跨服务器查询
sql库版本【2005】和【2000】
服务器:【用友】和【生产系统】
数据库:【UFDATA_808_2012】和【ld】
用户名:【sa】和【1981】
密码:【pw1】和【pw2】
表:【Inventory】和【cpbm】
关联字段:【Inventory.cInvDefine4】=【cpbm.成品编码】
希望在这样的环境下建立 select * from 用友..,生产系统..查询,这两个服务器在一个局域网里面 ,用查询分析器都可以登录,执行单独数据库的成功。
试验了下面的两方法,没有成功:
方法一:
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','用友' exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa','pw1' Select * From srv_lnk.用友.dbo.Inventory
消息 17,级别 16,状态 1,第 1 行[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问。
Select cpbm.成品编码 From OPENDATASOURCE( 'SQLOLEDB', 'Data Source=生产系统;User ID=1981;Password=pw1' ).ld.dbo.cpbmLeft Join OPENDATASOURCE( 'SQLOLEDB', 'Data Source=用友;User ID=sa;Password=pw2' ).UFDATA_808_2012.dbo.Inventory On cpbm.成品编码=Inventory.cInvDefine4
消息 107,级别 16,状态 3,第 1 行列前缀 'cpbm' 与查询中所用的表名或别名不匹配。消息 17,级别 16,状态 1,第 1 行[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问。