如何将数据从SQL Server数据库传输到Oracle数据库

时间:2011-02-24 06:53:25

标签: sql-server sql-server-2005 oracle unix bcp

我正在使用的当前应用程序让我们调用X是一个归档应用程序,数据保持另一个应用程序说Y.两者都是大约8年多的旧应用程序。到目前为止,在我阅读文档时,我了解到传输数据的过程是,SQL Server数据库表快照是在平面文件中创建的,然后这个平面文件被ftp到正确的unix框中,通过ctl为Oracle数据库生成各种插入语句,以及这些数据的传输方式。它使用bcp实用程序。我想知道是否有更好,更快的方法可以实现。应该有一种直接传输数据的方法,我觉得将其放入文件然后传输和插入的整个过程必须非常缓慢和艰苦。任何见解???

2 个答案:

答案 0 :(得分:2)

从Oracle数据库到SQL Server数据库的

Create a DB Link,您可以通过选择/插入来传输数据。

如果需要定期进行,请使用DBMS_SCHEDULER安排流程。

答案 1 :(得分:1)

您可以使用异构服务从许多不同的数据库供应商处读取数据。要使用此功能,您需要在Unix机器上创建一个服务,该服务使用 - 在这种情况下 - odbc连接到SQL Server数据库。

您可以在listener.ora中定义此服务,并创建指向此服务的tns别名。别名看起来很正常,除了额外的行(hs = ok)。在数据库中,您创建一个使用此tns别名作为连接字符串的数据库链接。

UnixODBC与FreeTDS驱动程序结合使用效果很好。 确切的细节因发布而异,10g寻找hs4odbc,11g dg4odbc。