powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Странная ошибка jdbc (Oracle)
10 сообщений из 10, страница 1 из 1
Странная ошибка jdbc (Oracle)
    #34584593
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Есть такой код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
    private   void  send(Connection source, Connection dest)
      throws  SQLException
   {
     Statement get = source.createStatement();
     Statement put = dest.createStatement();
      try {
       ResultSet res = get.executeQuery(
           "select * from " + source.getSelectFunction( "pgBl_Till",
               "fGetExport(" + syncExportKey + ")" ));
        while ( res.next())
         put.executeUpdate( res.getString(  1  ));
     } finally {
       get.close();
       put.close();
     }
     dest.commit();
   }

В некий момент возникает ошибка на строке while( res.next()):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
java.sql.SQLException: Закрытая команда: next
	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
	at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:1130)
	at 
oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:224)
	at ru.infosfera.sync.CStreamImport.send(CStreamImport.java:42)
....
Вопрос- что, кто-то может закрыть Statement "автоматом"?

--
Алексей
...
Рейтинг: 0 / 0
Странная ошибка jdbc (Oracle)
    #34585402
Мужик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Закрывается не Statement, а ResultSet. По всей видимости вот эта строчка его и закрывает:
Код: plaintext
1.
put.executeUpdate( res.getString(  1  )
Смотреть в сторону Connection.setAutoCommit или ResultSet.HOLD_CURSORS_OVER_COMMIT.
...
Рейтинг: 0 / 0
Странная ошибка jdbc (Oracle)
    #34585729
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мужик wrote:

> Закрывается не Statement, а ResultSet. По всей видимости вот эта строчка
> его и закрывает:
>
> put.executeUpdate( res.getString( *1* )

Этот put идет в другой connection. Причём не в oracle :)
Но закрыт именно oracle

> Смотреть в сторону Connection.setAutoCommit или

Он false

> ResultSet.HOLD_CURSORS_OVER_COMMIT.

Это константа. Она где получается/читается?

PS: ошибка возникает (при строго одинаковых данных) только на медленном
компьютере...

PPS: все время забываю - ResultSet закрывается, если закрыт Statement?
Это про утечки памяти...

--
Алексей
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Странная ошибка jdbc (Oracle)
    #34585872
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если сперва пробежаться по всему res'у и выгрузить строки к какой-нибудь String[], после чего
пробежаться по нему, последовательно выполняя через put?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Странная ошибка jdbc (Oracle)
    #34586034
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov wrote:

> А если сперва пробежаться по всему res'у и выгрузить строки к
> какой-нибудь String[], после чего
> пробежаться по нему, последовательно выполняя через put?

Вариант. Но их много...

--
Алексей
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Странная ошибка jdbc (Oracle)
    #34586117
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_Samara wrote:

> Вариант. Но их много...

Для начала просто интересно было бы локализовать проблему, т.е. необязательно в конце концов будет
использоваться именно этот вариант.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Странная ошибка jdbc (Oracle)
    #34586132
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov wrote:

> Для начала просто интересно было бы локализовать проблему, т.е.
> необязательно в конце концов будет
> использоваться именно этот вариант.

ПОпробую. Беда в том, что слабая машина, где возникает ошибка, не моя :)

--
Алексей
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Странная ошибка jdbc (Oracle)
    #34586141
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая версия драйвера? Оракла?
...
Рейтинг: 0 / 0
Странная ошибка jdbc (Oracle)
    #34586158
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timm wrote:

> Какая версия драйвера? Оракла?

Specification-Title: "Oracle JDBC driver classes for use with JDK1.4"
Specification-Version: "Oracle JDBC Driver version - 9.0.2.0.0"

Сервер- 9.2.0.8

--
Алексей
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Странная ошибка jdbc (Oracle)
    #34586288
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_Samara
Timm wrote:

> Какая версия драйвера? Оракла?

Specification-Title: "Oracle JDBC driver classes for use with JDK1.4"
Specification-Version: "Oracle JDBC Driver version - 9.0.2.0.0"

Сервер- 9.2.0.8

--
Алексей
Posted via ActualForum NNTP Server 1.4
не, давай из conn.getMetaData().getDriverVersion()
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Странная ошибка jdbc (Oracle)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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