Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Переменные, доступные java-процедурам  [new]
Гость_temp
Guest
Доброго времени суток

Имеется хранимая Java-процедура в Oracle. Эта процедура должна обращаться к таблицам собственной же схемы.

Мне кажется нелогичным создавать из Java-процедуры еще один connection к той же схеме, откуда процедура вызвана.
Connection conn_ORA = DriverManager.getConnection( "jdbc:default:connection:", props );

Ведь прежде чем вызвать процедуру, я коннекчусь под пользователем, и хочу из процедуры воспользоваться этим же коннектом.
Подозреваю, процедуре должны быть доступны переменные из контекста собственной сессии, в том числе проинициализированный экземпляр java-класса Connection (если конечно Oracle создает контекст для каждой сессии).

Насколько верны подозрения?
3 дек 10, 16:02    [9883055]     Ответить | Цитировать Сообщить модератору
 Re: Переменные, доступные java-процедурам  [new]
crazy_hands
Member

Откуда: Россия
Сообщений: 170
Гость_temp
Доброго времени суток

Имеется хранимая Java-процедура в Oracle. Эта процедура должна обращаться к таблицам собственной же схемы.

Мне кажется нелогичным создавать из Java-процедуры еще один connection к той же схеме, откуда процедура вызвана.
Connection conn_ORA = DriverManager.getConnection( "jdbc:default:connection:", props );

Ведь прежде чем вызвать процедуру, я коннекчусь под пользователем, и хочу из процедуры воспользоваться этим же коннектом.
Подозреваю, процедуре должны быть доступны переменные из контекста собственной сессии, в том числе проинициализированный экземпляр java-класса Connection (если конечно Oracle создает контекст для каждой сессии).

Насколько верны подозрения?


Пробовали?
import="oracle.apps.fnd.sso.Utils;
.........
Connection conn = Utils.getConnection();
Statement stmt = conn.createStatement();
3 дек 10, 16:46    [9883474]     Ответить | Цитировать Сообщить модератору
 Re: Переменные, доступные java-процедурам  [new]
-2-
Member

Откуда:
Сообщений: 15330
Гость_temp
Connection conn_ORA = DriverManager.getConnection( "jdbc:default:connection:", props );
Почему вы решили, что это "создавать из Java-процедуры еще один connection"?
3 дек 10, 16:53    [9883551]     Ответить | Цитировать Сообщить модератору
 Re: Переменные, доступные java-процедурам  [new]
xtender
Member

Откуда: Мск
Сообщений: 5704
Ммм... столько вариантов, а какой из них лучше использовать? я вот из оракловых примеров использую:
import oracle.jdbc.driver.OracleDriver;
Connection conn = new OracleDriver().defaultConnection();
3 дек 10, 18:02    [9884089]     Ответить | Цитировать Сообщить модератору
 Re: Переменные, доступные java-процедурам  [new]
crazy_hands
Member

Откуда: Россия
Сообщений: 170
xtender
Ммм... столько вариантов, а какой из них лучше использовать? я вот из оракловых примеров использую:
import oracle.jdbc.driver.OracleDriver;
Connection conn = new OracleDriver().defaultConnection();


Выбрать правильный! -:)) Тот который будет работать на всех инстансах.
3 дек 10, 18:09    [9884143]     Ответить | Цитировать Сообщить модератору
 Re: Переменные, доступные java-процедурам  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18351
Гость_temp
Подозреваю, процедуре должны быть доступны переменные из контекста собственной сессии, в том числе проинициализированный экземпляр java-класса Connection (если конечно Oracle создает контекст для каждой сессии).

официальная дока
JDBC Server-Side Internal Driver

The JDBC server-side internal driver is a Type 2 driver that runs inside the database server, reducing the number of round-trips needed to access large amounts of data. The driver, the Java server VM, the database, the Java native compiler which speeds execution by as much as 10 times, and the SQL engine all run within the same address space.

This driver provides server-side support for any Java program used in the database: SQLJ stored procedures, functions, and triggers, and Java stored procedures. You can also call PL/SQL stored procedures, functions, and triggers.

The server driver fully supports the same features and extensions as the client-side drivers.
3 дек 10, 18:09    [9884144]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить