У меня возникла проблема с получением поля Clob с использованием java. Так вот что я сделал:Как получить Clob с помощью java
String
sql = ("SELECT DBMS_LOB.substr(LDTEXT, 1000) AS TEXT "
+ "FROM LONGDESCRIPTION ");
try (Connection connection = BDOracle.abreConexaoDB2();
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
) {
while (resultSet.next()) {
Он ломает здесь:
Clob clob = (Clob) resultSet.getClob("TEXT");
long length = clob.length();
String out = clob.getSubString(1, (int) length);
}
} catch (SQLException err) {
System.out.println(err.getMessage());
}
Exception возвращается:
ERRORCODE = -4461, SQLSTATE = 42815 [СТК] [t4 ] [1092] [11644] [3.53.70] неверное преобразование данных неправильный тип столбца результата для запрошенного преобразования.
Запрос отлично работает в базе данных, я использую DB2.
Вы были правы! Я изменил код и использовал «getString()», и он отлично работал. Большое спасибо –