|
|
|
Io exception: Broken pipe
|
|||
|---|---|---|---|
|
#18+
Использую Oracle 8.1.7.3.0 вызываю хранимую процедуру, которая делает select по входящему seqnr из какой-то таблицы и вставляет запись в таблицу, где есть LONG - field. Если в LONG надо вставлять большое зкачение > 10K, то получаю ошибку. CallableStatement cst = db_con.prepareCall("{ call edbadm.FormulaPackage.Update_FormulaText(?) }"); cst.setString(1,seqnr); try { cst.execute(); } catch (Exception e) { log(e.toString()); cst.close(); return; } cst.close(); Invocation exception: Io exception: Broken pipe(java.sql.SQLException: Io exception: Broken pipe) java.sql.SQLException: Io exception: Broken pipe at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:156) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269) at oracle.jdbc.driver.OracleStatement.close(OracleStatement.java:476) at aktif$zahlerstande$formula_frame$html.run(aktif$zahlerstande$formula_frame$html.java:1403) at Jasper.doGet(Jasper.java:90) at Jasper.doPost(Jasper.java:109) at javax.servlet.http.HttpServlet.service(HttpServlet.java:521) at javax.servlet.http.HttpServlet.service(HttpServlet.java:588) at org.apache.jserv.JServConnection.processRequest(JServConnection.java:317) at org.apache.jserv.JServConnection.run(JServConnection.java:188) at java.lang.Thread.run(Thread.java:534) В чем проблемма? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2004, 18:10 |
|
||
|
Io exception: Broken pipe
|
|||
|---|---|---|---|
|
#18+
Broken pipe разрыв соединения...(инет упал и тд) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2004, 18:26 |
|
||
|
Io exception: Broken pipe
|
|||
|---|---|---|---|
|
#18+
Так постоянно происходит и только если в LONG большое значение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2004, 18:56 |
|
||
|
Io exception: Broken pipe
|
|||
|---|---|---|---|
|
#18+
А с CLOB'ом тоже самое? Вроде как в PL/SQL можно переменной типа LONG присвоить значение из переменной типа CLOB, м.б. до каких-то пределов. Либо же попробовать вызвать метод CallableStatement.setLong(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2004, 19:12 |
|
||
|
Io exception: Broken pipe
|
|||
|---|---|---|---|
|
#18+
Что-то мне подсказывает что проблемма тут не в LONG... Я с похожим сталкивался. Так сложно сказать, опиши подробнее, как и откуда и указанный код вызывается (судя по логу - из сервлета). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2004, 09:44 |
|
||
|
Io exception: Broken pipe
|
|||
|---|---|---|---|
|
#18+
Код вызывается из сервлета. Я уже пробовал вызывать не из хранимой процедуры: sql = "UPDATE CONSUMPTIONLOCATIONFORMULATEXT SET FORMULATEXT = ? WHERE seqnr = ?"; PreparedStatement pstmt = db_con.prepareStatement(sql); ByteArrayInputStream bais = new ByteArrayInputStream(formulatext.getBytes()); long formulaLength = bais.available( ); pstmt.setBinaryStream(1, bais, (int)formulaLength); pstmt.setString(2, seqnr); try { pstmt.executeUpdate( ); } catch(Exception e) { log(e.toString()); bais.close(); bais = null; pstmt.close( ); pstmt = null; return; } pstmt.close( ); pstmt = null; результат тот же: Io exception: Broken pipe Если использовать Oracle 9.2. то все ОК, но есть заказчики c Oracle 8.1.7.3.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2004, 15:42 |
|
||
|
Io exception: Broken pipe
|
|||
|---|---|---|---|
|
#18+
Поднял старые файлы... нет, у меня немного не такой список исключений был, но очень похож. Правда я с оракл 9.2. и работал. В моём случае была проблемма с одновременным доступом нескольких потоков к коду, выполняющему и обрабатывающему соединение с БД. В твоём случае такого нет? Например, одновременные запросы к сервлету как раз и порождают несколько потоков (для каждого запроса). Если так, то попробуй синхронизировать доступ или имплементировать SingleThreadModel для сервлета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2004, 16:40 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=834&tid=2153569]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 304ms |

| 0 / 0 |
