Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Oracle Shared Server 10.2.0.(1-3) CLOB -> SQLException: IOException: End of TNS data / 5 сообщений из 5, страница 1 из 1
01.02.2007, 09:33:09
    #34298090
zirex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Shared Server 10.2.0.(1-3) CLOB -> SQLException: IOException: End of TNS data
пытаюсь залить BLOB

Код: plaintext
1.
2.
3.
4.
                BLOB r = BLOB.createTemporary(((org.jboss.resource.adapter.jdbc.WrappedConnection)conn).getUnderlyingConnection(), true, BLOB.DURATION_SESSION);
                r.setBytes( 1 , getResumeBytes());
                
                cstmt.setBlob( 1 , r);

все отлично, пытаюсь залить CLOB

Код: plaintext
1.
2.
3.
4.
                
CLOB c = CLOB.createTemporary(((org.jboss.resource.adapter.jdbc.WrappedConnection)conn).getUnderlyingConnection(), true, CLOB.DURATION_SESSION);
                c.setBytes("COMMENT".getBytes());
                cstmt.setClob( 1 , c);
беда:

Код: plaintext
1.
2.
java.sql.SQLException: Io exception: End of TNS data channel
// и все - стек пустой
причем с дравером от 10.2.0.1 md5:795860ea5bcff863684221b216015807
падает и база - алерт лог пустой

с драйвером от 10.2.0.3 md5:219e4c6f2ba5d066fedfd78697847054
та же ошибка, но база живет и в алерг лог вываливает сообщение
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
....
ORA- 00603 : ORACLE server session terminated by fatal error
ORA- 00600 : internal error code, arguments: [ 17147 ], [0xB5E44BEC], [], [], [], [], [], []
ORA- 24812 : character set conversion to or from UCS2 failed
....
ORA- 00600 : internal error code, arguments: [kghfrh:ds], [0xB5E44C0C], [], [], [], [], [], []
ORA- 00603 : ORACLE server session terminated by fatal error
ORA- 00600 : internal error code, arguments: [ 17147 ], [0xB5E44BEC], [], [], [], [], [], []
ORA- 24812 : character set conversion to or from UCS2 failed

почитал металинк на предмет [kghfrh:ds], пишут, что эта проблема решена для BLOB уже в 10.1
как быть?
...
Рейтинг: 0 / 0
01.02.2007, 11:07:38
    #34298422
ДимГеннадьич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Shared Server 10.2.0.(1-3) CLOB -> SQLException: IOException: End of TNS data
zirexпытаюсь залить BLOB

Код: plaintext
1.
2.
3.
4.
                BLOB r = BLOB.createTemporary(((org.jboss.resource.adapter.jdbc.WrappedConnection)conn).getUnderlyingConnection(), true, BLOB.DURATION_SESSION);
                r.setBytes( 1 , getResumeBytes());
                
                cstmt.setBlob( 1 , r);

все отлично, пытаюсь залить CLOB

Код: plaintext
1.
2.
3.
4.
                
CLOB c = CLOB.createTemporary(((org.jboss.resource.adapter.jdbc.WrappedConnection)conn).getUnderlyingConnection(), true, CLOB.DURATION_SESSION);
                c.setBytes("COMMENT".getBytes());
                cstmt.setClob( 1 , c);
беда:

Код: plaintext
1.
2.
java.sql.SQLException: Io exception: End of TNS data channel
// и все - стек пустой
причем с дравером от 10.2.0.1 md5:795860ea5bcff863684221b216015807
падает и база - алерт лог пустой

с драйвером от 10.2.0.3 md5:219e4c6f2ba5d066fedfd78697847054
та же ошибка, но база живет и в алерг лог вываливает сообщение
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
....
ORA- 00603 : ORACLE server session terminated by fatal error
ORA- 00600 : internal error code, arguments: [ 17147 ], [0xB5E44BEC], [], [], [], [], [], []
ORA- 24812 : character set conversion to or from UCS2 failed
....
ORA- 00600 : internal error code, arguments: [kghfrh:ds], [0xB5E44C0C], [], [], [], [], [], []
ORA- 00603 : ORACLE server session terminated by fatal error
ORA- 00600 : internal error code, arguments: [ 17147 ], [0xB5E44BEC], [], [], [], [], [], []
ORA- 24812 : character set conversion to or from UCS2 failed

почитал металинк на предмет [kghfrh:ds], пишут, что эта проблема решена для BLOB уже в 10.1
как быть?

oerr ora 24812
24812, 00000, "character set conversion to or from UCS2 failed"
// *Cause: If the database character set is varying-width, the CLOB/NCLOB
// value is implicitly converted to or from UCS2. This implicit
// conversion failed.
// *Action: Contact Oracle Worldwide Support.

Может быть как-то обойти ТАКОЕ преообразование в или из UCS2?
...
Рейтинг: 0 / 0
01.02.2007, 11:40:05
    #34298574
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Shared Server 10.2.0.(1-3) CLOB -> SQLException: IOException: End of TNS data
Пустой стек трейс это круто...
orai18n.jar - в classpath?
Написать ТС без пула, запустить желательно в том же окружении.
Переписать без темп клобов.
...
Рейтинг: 0 / 0
01.02.2007, 14:14:48
    #34299219
zirex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Shared Server 10.2.0.(1-3) CLOB -> SQLException: IOException: End of TNS data
Всем спасибо за участие! Получилось!

Помогла вот эта ссылка оставленная Alex from SPb

за одним НО, метод getCharacterOutputStream() - deprecated - вместо него нужно использовать setCharacterStream(0L) примерно вот так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
                CLOB comment = CLOB.createTemporary(((org.jboss.resource.adapter.jdbc.WrappedConnection)conn).getUnderlyingConnection(), true, CLOB.DURATION_SESSION);
                
                comment.open(CLOB.MODE_READWRITE);
                Writer wr = comment.setCharacterStream(0L);
                wr.write("COMMENT");
                
                wr.flush();

Зато теперь знаю как свалить базу :) можно писать эксплоит
...
Рейтинг: 0 / 0
07.06.2007, 05:44:21
    #34579636
Kyamranbey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Shared Server 10.2.0.(1-3) CLOB -> SQLException: IOException: End of TNS data
Интересно а зачем они закрывают CLOB перед тем как вернуть его в своем примере...
www.oracle.com/technology/sample_code/tech/java/codesnippet/xmldb/Example_Code.html
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    // Close the temporary CLOB 
    tempClob.close();    
  }  catch (SQLException sqlexp){
    tempClob.freeTemporary(); 
    sqlexp.printStackTrace();
  }  catch (Exception exp){
    tempClob.freeTemporary(); 
    exp.printStackTrace();
  }
   return  tempClob; 
} 
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Oracle Shared Server 10.2.0.(1-3) CLOB -> SQLException: IOException: End of TNS data / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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