本地数据库:SQL-Server 2005
外部数据库:Oracle DB2 MySql 等本人想写一个应用程序,从“外部数据源库”的指定数据表中,向本地数据库(SQL-Server)中导入数据。
初步的想法是,通过OLEDB以及不同的数据库连接字符串来连接外部数据源。然后,通过标准的SQL语句逐条的查询,
并将结果写入本地数据库的数据表中。本人想向各位大侠求证一下,这个方案是否可行?

解决方案 »

  1.   

    可以实现ORACLE与SQL-SERVER的直接同步需要用到链接服务器 
      

  2.   

    连接oracle和mysql的可以参考如下,db2的不知道.在SQL SERVER 20000中访问Oracle数据库服务器的几种方法 1.通过行集函数opendatasource
    要求:本地安装Oracle客户端
    select *  from opendatasource('MSDAORA', 'Data Source=XST4;User ID=manager;Password=sjpsjsjs')..MISD.PBCATCOL
    其中,MSDAORA是OLEDB FOR Oracle的驱动,注意:用户名和表名一定要大小,服务器和用户名之间是两个点;
    例如:
    select top 10 *  from opendatasource('MSDAORA', 'Data Source=HZTEST;User ID=osstest;Password=a1234')..OSSTEST.SUBSCRIBER本地Oracle客户端配置文件中内容如下:
    HZTEST =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 132.149.7.19)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = test)
        )
      )2. 使用MS SQL的openrowset函数
    select A.* from openrowset('MSDAORA','XST4';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A 
    order by A.ID
    使用这种方式一定要用别名才行3.使用ODBC方式
    select A.* from openrowset('MSDAORA','XST4_ODBC';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A order by A.ID
    XST4_ODBC是ODBC数据源4.使用链接服务器方式
    EXEC SP_ADDLINKEDSERVER
    @server='mylinkedserver',      --链接服务器名称
    @srvproduct='Oracle',          --固定
    @provider='MSDAORA',           --固定
    @datasrc='XST4'                --Oracle本地服务名
    该文章转载自德仔工作室:http://www.dezai.cn/article_show.asp?ArticleID=17285
    /*
    标题:SQL Server 2000 连接mysql.
    作者:爱新觉罗.毓华 
    时间:2009-02-23
    地点:广东深圳
    */--连接mysql安装MySQL的ODBC驱动MyODBC1、为MySQL建立一个ODBC系统数据源,例如:选择数据库为test ,数据源名称为 myDSN2、建立链接数据库
    EXEC sp_addlinkedserver  @server = 'MySQLTest', @srvproduct='MySQL', @provider = 'MSDASQL', @datasrc = 'myDSN'
    GO
    EXEC sp_addlinkedsrvlogin  @rmtsrvname='MySqlTest',@useself='false',@locallogin='sa',@rmtuser='mysql的用户名',@rmtpassword='mysql的密码'3、查询数据SELECT * FROM OPENQUERY (MySQLTest ,'select * from 表' )4.如果Mysql修改密码后必须重新映射一下EXEC sp_addlinkedsrvlogin
    (http://topic.csdn.net/u/20090223/14/bd4eaef6-986e-483a-8155-5a563692d922.html)
      

  3.   

    本地数据库为SQL-Server 2005 ,我想弄清楚的是:
    1> 是否可以只通过指定不同的数据库连接字符串来完成连接的操作(外部数据源的配置暂且不考虑)?
    2> 如果连接建立成功,是否可以通过标准的SQL语句在外部的异种数据库上执行查询,并返回结果?谢谢各位!