通过DTS工具将SQL SERVER的数据库与远程ORACLE数据库实现数据交换是可实现的。但会有一个问题出现。从ORACLE导入到SQL的速度很快速的,但从SQL SERVER导入到ORACLE就很慢了。两个动作不在同一个水平上。请教大家是否有遇见过?如有,哪又如何能够提高从SQL SERVER导入到ORACLE的速度?非常感谢!

解决方案 »

  1.   

    在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
      

  2.   

    DTS都是这种速度....SQL转oracle 不是一样么?