У меня есть следующий бит кода, который считывает данные из таблицы Oracle (Примечание: это выполняется на Jdk 1.4.2)
ResultSet message = messageStatement.executeQuery(getMsgSql);
String messageData = message.getString("MESSAGE_DATA");
Данные в столбце MESSAGE_DATA содержат текст, но также и элемент управлениясимволы, которые разделяют элементы данных в сообщении (то есть (char) 31, (char) 29) и (char) 28).
Я обнаружил, что message.getString () по какой-то причине иногда обрезает сообщение.Я могу прочитать большинство сообщений, но некоторые из них усечены.Я должен читать данные, используя другой метод?Если так, то как?
Я пытался использовать sqlplus для просмотра данных в базе данных, и это все, что они просто усекают методом message.getString ().Я видел это, когда пытался вывести результат, т.е. System.out.println (message.getString ()).
Спасибо
Обновление
Я запустил SQL-запрос с использованием функции length () в Oracle, а length ("MESSAGE_DATA") возвращает 2032, тогда как в java message.getString (1) .length () возвращает 2000. Я не уверен, почему это происходит.
Обновление
Хорошо, я могу подумать.Я только что попробовал более новую версию драйвера JDBC, и он, кажется, работает.Используемый драйвер был более старой версией, поставленной для доставки jdk1.4.Кто-нибудь знает, почему это так?А также, имеет ли применение более новая версия драйвера jdbc какие-либо последствия, особенно с учетом того факта, что приложение работает на JDK 1.4.Версия oracle - 10.1.0.3.0
Обновление
Я не уверен, что это поможет, но вот версии двух драйверов JDBC.
Драйвер JDBC, который не работает
===== Database info =====
DatabaseProductName: Oracle
DatabaseProductVersion: Oracle Database 10g Release 10.1.0.3.0 - 64bit Production
===== Driver info =====
DriverName: Oracle JDBC driver
DriverVersion: 8.0.5.2.0
DriverMajorVersion: 8
DriverMinorVersion: 0
Драйвер JDBC, который работает
===== Database info =====
DatabaseProductName: Oracle
DatabaseProductVersion: Oracle Database 10g Release 10.1.0.3.0 - 64bit Production
===== Driver info =====
DriverName: Oracle JDBC driver
DriverVersion: 10.2.0.1.0
DriverMajorVersion: 10
DriverMinorVersion: 2
Спасибо