2011-12-12 51 views
2

我有一個將數據存儲在Oracle數據庫中的應用程序。我想將選定的行從此數據庫中的表中複製到Sybase數據庫中的表(歸檔記錄)中。我可以直接執行此操作嗎(即不需要存儲和加載文件結果)?如何使用SQL * Plus從Oracle複製到Sybase?

我大部分看了到SQL * Plus

  • 的SQL * Plus COPY命令(http://docs.oracle.com/cd/B19306_01/server.102/b14357/apb.htm)
  • 將數據從Oracle數據庫服務器複製到Sybase(http://docs.oracle.com/cd/A95432_01/a80982/ch5.htm#153526)
  • 複製命令(http://www.oracleutilities.com/ SQLPLus/copy.html)
  • Oracle®Database Gateway for Sybase用戶指南(http://docs.oracle.com/cd/B28359_01/gateways.111/b31048/toc.htm)

我也理解以下內容:「但是,INSERT是拷貝到Sybase時支持的唯一選項。 SQL * Plus COPY命令不支持複製到具有小寫表名的表中。「但是,我還沒有能夠在SQL * Plus中做到這一點,我會繼續嘗試,但如果有人有一個如何做的例子它在這裏,我非常感謝它

如果這是不可能的,Oracle數據泵(http://www.oracle.com/technetwork/database/enterprise-edition/index-093639.html)我最好的選擇嗎?

謝謝!

真誠,

Deepyaman

回答

0

如果數據的大小合理,最好的辦法可能是使用某種形式的ETL工具來處理這個問題,而不是深入瞭解系統之間建立網關等的細節。

有很多選項 - Talend Open Studio(免費),Informatica或Microsoft SSIS都應該能夠處理這個問題。

0

可靠的方法是從「COPY_FROM_DATABASE」創建一個平面文件(txt,csv)或INSERT sql。然後將其加載到相應的表格中。您可能需要在此sql中進行一些格式化,才能在不同的服務器上運行它。我個人更喜歡INSERT sql。

相關問題