Как использовать метод setClob в jdbc? - PullRequest
0 голосов
/ 01 февраля 2011

Мне нужно вставить большую строку как clob в таблицу.Я использую метод setClob PreparedStatement.Но значения не вставляются в таблицу базы данных.Может кто-нибудь сказать мне, как я могу вставить строку в таблицу, используя метод setClob?

Я использую метод следующим образом:

pstmt.setClob (0, clob);

Но программа не может выполнить операторы из этой строки.Он выходит из цикла и снова останавливается на той же строке и т. Д. У меня возникла дилемма, как использовать Clob Object для достижения этой цели.

Пожалуйста, помогите мне с этим.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 09 февраля 2012

У меня была такая же проблема при использовании WebLogic и Oracle.Я нашел решение в документе: http://docs.oracle.com/cd/B19306_01/appdev.102/b14259/xdb11jav.htm в разделе «Загрузка большого XML-документа в базу данных с помощью JDBC»

Единственная проблема, с которой я столкнулся, заключалась в том, что CLOB.createTeorary требовалOracleConnection, но мой объект соединения имел тип $ ProxyXX, который я не мог привести к OracleConnection без получения ClassCastException.Решил его купить с помощью conn.getMetaData (). GetConnection (), который дал мне T4CConnection, который я мог привести к OracleConnection.

1 голос
/ 01 февраля 2011

В какую базу данных вы вставляете значение?Например, для серверной части Oracle, методы readyStatement имеют ограничение 4 КБ для CLOB.

Вы можете использовать:

Clob clob = ...
String chuck = clob.getSubString(1,10);
clob.setString(1,chuck);

Чтобы убедиться, что размер здесь не является проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...