将数据从Sybase插入Oracle 11g的更有效方法

时间:2016-08-22 17:35:00

标签: oracle11g coldfusion coldfusion-8

我正在使用ColdFusion将数据从Sybase数据库复制到Oracle 11g。两个数据库都具有完全相同的表和列。我只知道使用以下方法,并想知道是否有更有效的方法。

我目前正在Sybase中执行select * from table_A。然后循环查询结果并将数据插入我的Oracle数据库:

 <cfloop query="GetTableA" datasource="SybaseDB">
    <cfquery name="InsertToOracle" datasource="OracleDB">
     INSERT INTO (column list...)
     Values (values from GetTableA)
  </cfquery>
</cfloop>

就像我现在正在做的那样,对于少量数据是可以接受的。但是,当循环超过2000条记录时,性能开始下降。

1 个答案:

答案 0 :(得分:1)

如果两个数据库都位于同一个数据中心,或者足够近,那么一个好的选择就是使用数据库链接。本文讨论从Oracle数据库访问Sybase数据库: How to query Sybase database from Oracle database via db link

建立连接后,只需要:

INSERT INTO [oracle_table] ...
SELECT ... FROM [sybase_table]