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

怎样在SQLServer中建立类似于Oracle中的DBLink?
需要在SQLServer2005中建立DBLink连接到Informix的数据库。
我尝试着这样做
exec   sp_addlinkedserver     'linkname ', ' ', 'SQLOLEDB ', 'ip '
exec   sp_addlinkedsrvlogin   'linkname ', 'false ',null, 'informixDB_username ', 'informixDB_password '

然后用select   *   from   linkname.tablename
SQLServer报错,说是无效的对象linkname.tablename
希望大家给我帮助,谢谢~


------解决方案--------------------
--创建链接服务器
exec sp_addlinkedserver 'srv_lnk ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
exec sp_addlinkedsrvlogin 'srv_lnk ', 'false ',null, '用户名 ', '密码 '
go

--查询示例
select * from srv_lnk.数据库名.dbo.表名

--导入示例
select * into 表 from srv_lnk.数据库名.dbo.表名

--以后不再使用时删除链接服务器
exec sp_dropserver 'srv_lnk ', 'droplogins '
go

--如果只是临时访问,可以直接用openrowset
--查询示例
select * from openrowset( 'SQLOLEDB '
, 'sql服务器名 '; '用户名 '; '密码 '
,数据库名.dbo.表名)


--导入示例
select * into 表 from openrowset( 'SQLOLEDB '
, 'sql服务器名 '; '用户名 '; '密码 '
,数据库名.dbo.表名)

------解决方案--------------------
首先安装对应的Informix的客户端驱动,再创建链接服务器。