如何使用SQL * Plus从Oracle复制到Sybase?

时间:2011-12-12 15:09:57

标签: sql database oracle sybase sqlplus

我有一个将数据存储在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)
  • 适用于Sybase的Oracle®数据库网关用户指南(http://docs.oracle.com/cd/B28359_01/gateways.111/b31048/toc.htm)

我也理解以下内容:“但是,INSERT是复制到Sybase时唯一支持的选项.SQL * Plus COPY命令不支持复制到具有小写表名的表。”但是,我无法在SQL * Plus中执行此操作。我会继续努力,但如果有人在这里有一个如何做的例子,我会非常感激。

如果无法做到这一点,Oracle Data Pump(http://www.oracle.com/technetwork/database/enterprise-edition/index-093639.html)是我最好的选择吗?

谢谢!

此致

Deepyaman

2 个答案:

答案 0 :(得分:0)

您最好的选择可能是使用某种形式的ETL工具来处理这个问题,如果您的数据大小合理,而不是在系统之间了解如何设置网关等。

有许多选项--Talend Open Studio(免费),Informatica或Microsoft SSIS都应该能够处理这个问题。

答案 1 :(得分:0)

执行此操作的有效方法是从“COPY_FROM_DATABASE”创建一个平面文件(txt,csv)或INSERT sql。然后将其加载到相应的表中。您可能需要在此sql中进行一些格式化,以便在其他服务器上运行它。我个人更喜欢INSERT sql。