2011-05-16 28 views
3

只需寻找人们对运行在Unix上的Oracle 10G数据库与运行在Windows上的SQL Server数据库之间的通信意见。Oracle与SQL服务器通信 - JDBC与ODBC

我有要求写一个批处理作业,将从Oracle数据库读取数据并将数据填充到SQL Server上的表上。

Oracle支持“异构服务”功能,我可以使用ODBC驱动程序创建从Oracle数据库到SQL Server数据库的数据库链接。

我的另一个选择是使用Java进程,它使用JDBC连接到SQL Server并使用JDBC连接填充数据而无需数据库链接。

好奇地知道两者的优缺点。

谢谢

回答

5

从性能的角度来看,使用数据库链接几乎肯定会更高效。否则,您的Java进程将不得不通过网络从Oracle数据库中提取数据,然后通过网络将其写回到SQL Server数据库。直接连接只需要一次网络往返。

从维护的角度来看,数据库链接通常会导致写入的代码少得多。如果所有的JDBC都是由ORM层完成的,那么写起来要比在Java中做同样的事情要容易得多。

+0

嗨贾斯汀,我正在考虑把java进程放在与Oracle数据库相同的机器上,它只需要从本地机器上读取数据,而不是通过网络。我想知道,如果odbc比JDBC更可靠。 – ziggy 2011-05-17 11:10:56

+0

@ziggy - 我不希望任何一种协议本质上都比另一种更稳定。我预计Oracle提供的异构服务代码将比您编写的任何Java过程更加稳健。 – 2011-05-17 13:48:53