powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / [Oracle] Вызов хранимой функции через JDBC.
4 сообщений из 4, страница 1 из 1
[Oracle] Вызов хранимой функции через JDBC.
    #33904006
emptybox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Функция возвращает набор данных типа CURSOR.
Через JDBC получаю результат вызова функции в качестве объекта ResultSet.
Но у меня не получается его обработать, вытащить данные. При вызове метода next() выбрасывается исключение:

java.sql.SQLException: Закрытое соединение: next

как быть, господа?
...
Рейтинг: 0 / 0
[Oracle] Вызов хранимой функции через JDBC.
    #33904025
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажи весь код.
...
Рейтинг: 0 / 0
[Oracle] Вызов хранимой функции через JDBC.
    #33904040
emptybox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
OracleDataSource ods =  new  OracleDataSource();
ods.setUser("...");
ods.setPassword("...");
ods.setURL("...");

Connection c = ods.getConnection();

CallableStatement cs = c.prepareCall("{? = call foo()}");
cs.registerOutParameter( 1 , OracleTypes.CURSOR);
cs.executeUpdate();
OracleResultSet set = (OracleResultSet) cs.getObject(key);

дальше это set не получается обработать...
...
Рейтинг: 0 / 0
[Oracle] Вызов хранимой функции через JDBC.
    #33904063
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
create or replace function foo  return  sys_refcursor as
  v_result sys_refcursor;
begin
  open v_result  for 
    select * from scott.emp;
   return  v_result;
end;
/
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
CallableStatement cs = c.prepareCall("{? = call foo()}");
cs.registerOutParameter( 1 , OracleTypes.CURSOR);
cs.execute();
ResultSet set = (ResultSet) cs.getObject( 1 );
 while  (set.next()) {
  System.out.println(set.getString( 1 ));
}
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / [Oracle] Вызов хранимой функции через JDBC.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]