2016-08-22 3 views
0

SybaseデータベースのデータをOracle 11gにコピーするために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を超えるレコードをループすると、パフォーマンスが低下し始めます。

+2

私はあなたが仕事のための間違ったツールを使用していることを示唆しています。 – ale

答えて

1

両方のデータベースが同じデータセンターにある場合、または十分に近い場合は、DBリンクを使用することをお勧めします。 OracleデータベースからSybaseデータベースへのアクセスについてのこの記事会談: How to query Sybase database from Oracle database via db link

接続が確立されると、だけの問題である:

INSERT INTO [oracle_table] ... 
SELECT ... FROM [sybase_table] 
関連する問題