如何将数据从 SQL Server 数据库传输到 Oracle 数据库
我当前正在使用的应用程序(称为 X)是一个归档应用程序,用于保存另一个应用程序(称为 Y)的数据。这两个应用程序都是大约 8 年前开发的非常古老的应用程序。到目前为止,在我阅读文档时,我了解到传输数据的过程是,在平面文件中创建 SQL Server 数据库表快照,然后通过 ctl 将这个平面文件 ftp 到正确的 unix 框。为 Oracle 数据库生成各种插入语句,这就是数据传输的方式。它使用 bcp 实用程序。我想知道是否有更好更快的方法可以实现这一点。应该有一种方法可以直接传输数据,我感觉把它放在文件中然后传输和插入的整个过程一定很慢而且很辛苦。有什么见解吗???
The current application I'm working lets call X is an archiving application for the data kept another application say Y. Both are very old applications developed about 8 odd years back. So far in my reading of the documentation, I have learnt that the process to transfer data used is that, the SQL Server Database Tables snapshot is created in flat files and then this flat files are ftp'd to the correct unix box where through ctl various insert statements are generated for the Oracle Database and that's how this data is transferred. It uses bcp utility. I wanted to know if there is a better and a faster way this could be accomplished. There should be a way to transfer data directly, I feel the whole process of taking it in files and then transfer and insert must be really slow and painstaking. Any insights???
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
创建数据库链接< /a> 从 Oracle 数据库到 SQL Server 数据库,您可以通过选择/插入来传输数据。
如果需要,请使用 DBMS_SCHEDULER 安排进程定期进行。
Create a DB Link from your Oracle Database to SQL Server database, and you can transfer the data via selects / inserts.
Schedule the process using DBMS_SCHEDULER if this needs to be done on a periodic basis.
您可以使用异构服务从许多不同的数据库供应商读取数据。要使用它,您需要在 Unix 机器上创建一个服务,在本例中使用 odbc 连接到 SQL Server 数据库。
您在listener.ora 中定义此服务,并创建一个指向此服务的tns 别名。除了额外的行(hs = ok)之外,别名看起来很正常。在您的数据库中,您使用此 tns 别名作为连接字符串创建一个数据库链接。
UnixODBC 与 FreeTDS 驱动程序结合使用效果很好。
具体细节因版本而异,10g 查找 hs4odbc,11g dg4odbc。
you can read data from a lot of different database vendors using heterogeneous services. To use this you create a service on the Unix box that uses - in this case - odbc to connect to the SQL Server database.
You define this service in the listener.ora and you create a tns alias that points to this service. The alias looks pretty normal, except for the extra line (hs = ok). In your database you make a database link that using this tns alias as connect string.
UnixODBC in combination with the FreeTDS driver works fine.
The exact details vary between releases, for 10g look for hs4odbc, 11g dg4odbc.