Использование PL / SQL для вызова метода Java, который использует JDBC для подключения к базе данных сервера SQL - PullRequest
2 голосов
/ 06 июня 2011

Я хотел бы иметь возможность соединить базу данных Oracle с базой данных сервера SQL.Я знаю о DG4ODBC и HSODBC, но я не могу использовать эти драйверы по нескольким причинам.

Я понимаю, что можно вызвать код Java из PL / SQL, как описано здесь http://download.oracle.com/docs/cd/B19306_01/java.102/b14187/chthree.htm

Я хочу написать процедуру PL / SQL, которая будет вызывать метод Java вХранимая процедура Java.Обработка метода Java заключается в подключении к базе данных сервера SQL и вставке некоторых данных.Метод Java подключится к SQL Server с помощью драйвера JDBC, который будет расположен на сервере Unix, на котором будет работать Oracle.

Возможно ли вышеизложенное?Как определяется местоположение драйвера?Есть ли недостатки у вышеуказанного подхода?Какие-нибудь учебники или примеры можно найти где-нибудь?

Ответы [ 2 ]

3 голосов
/ 06 июня 2011

Пока вы можете загрузить драйвер JDBC для SQL Server в базу данных Oracle с помощью утилиты loadjava , да, это должно быть возможно.Это будет зависеть от версии Oracle (разные версии базы данных имеют разные версии внутренней JVM) и версии JVM, которая требуется для вашего драйвера JDBC для SQL Server, но я не ожидаю, что это будет слишком сложно.Если вы используете Oracle 10.2 (я полагаю, основываясь на версии Руководства разработчика Java, с которой вы связаны), вам просто нужно убедиться, что вы используете версию драйвера JDBC для SQL Server, совместимую с1.4 JVM.

Это, несомненно, будет менее эффективным, чем использование гетерогенных служб и прозрачного шлюза для ODBC.И это, вероятно, довольно много работы для развития.Но это должно работать.

0 голосов
/ 07 июня 2011

Если вам действительно нужно это сделать, вы можете попробовать загрузить jTDS драйвер в вашу базу данных через loadjava. Затем вы должны дать соответствующие разрешения с dbms_java.grant_permission.

Некоторые указатели:

http://forums.oracle.com/forums/thread.jspa?messageID=1102281 http://download.oracle.com/docs/cd/B19306_01/java.102/b14187/chthree.htm#CACJJHGI

...