3

我正在工作的当前应用程序让我们调用 X 是一个存档应用程序,用于保存另一个应用程序 Y 的数据。两者都是大约 8 多年前开发的非常古老的应用程序。到目前为止,在阅读文档时,我了解到传输数据的过程是,SQL Server 数据库表快照是在平面文件中创建的,然后这个平面文件通过 ctl 被 ftp'​​d 到正确的 unix 框为 Oracle 数据库生成各种插入语句,这就是数据的传输方式。它使用 bcp 实用程序。我想知道是否有更好更快的方法可以实现这一点。应该有直接传数据的方法,我感觉整个文件里面取到文件再传插入的过程肯定很慢很费劲。有什么见解???

4

2 回答 2

2

创建从您的 Oracle 数据库到 SQL Server 数据库的数据库链接,您可以通过选择/插入传输数据。

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

于 2011-02-24T08:50:20.793 回答
1

您可以使用异构服务从许多不同的数据库供应商处读取数据。要使用它,您需要在 Unix 机器上创建一个服务,该服务使用 - 在本例中 - odbc 连接到 SQL Server 数据库。

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

UnixODBC 与 FreeTDS 驱动程序结合使用可以正常工作。确切的细节因版本而异,对于 10g 查找 hs4odbc,11g dg4odbc。

于 2011-02-24T09:31:02.170 回答