#java #jdbc #oracle10g #clob
#java #jdbc #oracle10g #clob
Вопрос:
Я могу вставить clob с помощью:
Reader clobReader = new StringReader(fileString);
stmt.setCharacterStream(1, clobReader, clob.length());
int num = stmt.executeUpdate();
Я хочу использовать DBUtils для его завершения.
run.update(conn, "insert into fileservice(id,filedata)values('1234','ddd',?)",new Object[]{fileString});
fileString — это большая строка.
Я сталкиваюсь с ограничениями 32k для clob: setString может обрабатывать только строки, содержащие менее 32766 символов.
Как обрабатывать объект CLOB с помощью DBUtils?
Ответ №1:
чтобы избежать ограничения в 32 КБ, попробуйте добавить это:
connectionProperties = new Properties();
connectionProperties.put("SetBigStringTryClob", "true");
connection = DriverManager.getConnection(JDBCUrl, connectionProperties);
в случае, если вы работаете с Oracle, вы можете преобразовать PreparedStatement в oracle.jdbc.OraclePreparedStatement, который дает вам больше возможностей для работы