我希望能够将Oracle数据库与SQL server数据库连接起来。我知道DG4ODBC和HSODBC,但由于几个原因我不能使用这些驱动程序。
我知道可以从PL/SQL中调用java代码,如下所述http://download.oracle.com/docs/cd/B19306_01/java.102/b14187/chthree.htm
我想编写一个PL/SQL过程,它将调用Java存储过程中的Java方法。Java方法的处理是连接到SQL服务器数据库并插入一些数据。Java方法将使用JDBC驱动程序连接到SQL Server,JDBC驱动程序将位于运行Oracle的Unix服务器上。
以上可能吗?如何定义驾驶员位置?上述方法有缺点吗?任何地方都有教程或例子吗?
只要您可以使用loadjava实用程序将SQL Server JDBC驱动程序加载到Oracle数据库中,是的,这应该是可能的。这将取决于Oracle的版本(不同版本的数据库有不同版本的内部JVM)和SQL Server JDBC驱动程序所需的JVM版本,但我认为这不会太困难。如果您使用的是Oracle10.2(我猜是基于您链接到的Java Developer’s Guide版本),您只需要确保您使用的SQL Server JDBC驱动程序版本与1.4 JVM兼容。
毫无疑问,这将低于使用异构服务和ODBC透明网关的效率。而且可能还有相当多的工作要做。但它应该起作用。
如果确实需要这样做,可以尝试通过loadjava在数据库中加载jTDS驱动程序。然后您应该使用dbms_java.grant_permission
授予相应的权限。
一些指针:
http://forums.oracle.com/forums/thread.jspa?messageID=1102281http://download.oracle.com/docs/cd/B19306_01/java.102/b14187/chthree.htm#CACJJHGI