--创建链接服务器
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.表名)

解决方案 »

  1.   

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

  2.   

    谢谢楼上的两位
    还有一个问题
    ---------------------
    exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'
    exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
    ----------------------
    中的'SQLOLEDB'和'false',null是固定的么?
    如果不是固定的,那么在连接Informix的情况下,应该怎么配呢?
    我这边也在一直尝试~谢谢~
      

  3.   

    SQLOLEDB不是固定的,根据你要链接的数据源而定。
      

  4.   

    谢谢楼上的两位
    成功了。
    最后用的是Microsoft OLE DB Provider for ODBC 与 data_source的解决方法,具体如下
    1)首先在Datasource中建立好连接informix的数据源,按照官方说法“在使用该链接服务器之前,必须在该服务器中将指定的 ODBC 数据源名称定义为系统 DSN。”2)创建名为DBlink_name 的链接服务器
    /*EXEC sp_addlinkedserver 
       @server = 'DBlink_name', 
       @srvproduct = '',
       @provider = 'MSDASQL', 
       @datasrc = 'system DSN name'
    GO*/3)查询
    select * from DBlink_name.Database_name.DBuser.tablename