powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как сохранить CLOB в нужной кодировке
6 сообщений из 6, страница 1 из 1
Как сохранить CLOB в нужной кодировке
    #33726857
ЕвгенийЧ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет !
Я в Jave не силён поэтому прошу помощи.
Есть таблица TEST_LOB в ней поле CDATA (CLOB).
Процедурой формирую XML и сохраняю в таблице <insert into test_lob(cdata) values (c);> При этом XML формируется в кодировке моей базы, а мне нужна кодировка UTF-8. Сразу скажу ф-ция convert() не помогает. На форуме нашёл процедуру <clob2file(CLOB clob, String fileName, String characterSet)> , которая позволяет сохранять данные (CLOB) в файл (fileName) с заданной кодировкой (characterSet). Я хотел попробывать переделать процедуру что бы сохранить CLOB не в текстовый файл fileName, а записать в таблицу <insert into test_lob(cdata) values (clob); или в другую таблицу с полем CLOB>
--------------------
public static void clob2file(CLOB clob, String fileName, String
characterSet)
throws SQLException, IOException {
Writer writer = null;
Reader reader = null;
try {
writer = new OutputStreamWriter(
new BufferedOutputStream(new FileOutputStream(new File(fileName))),
characterSet
);
reader = new BufferedReader(clob.getCharacterStream());
int length;
char[] buf = new char[clob.getChunkSize()];
while ((length = reader.read(buf, 0, clob.getChunkSize())) != -1) {
writer.write(buf, 0, length);
}
} finally {
if (writer != null) {writer.close();}
if (reader != null) {reader.close();}
}
}
----------------
Как бы это сделать ? Подскажи пожалуйста
...
Рейтинг: 0 / 0
Как сохранить CLOB в нужной кодировке
    #33726935
AciD_v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй так:
Код: plaintext
1.
2.
3.
4.
String yourXmlData = createXMLOutput(...);
PreparedStatement stmnt = connection.prepareStatement("insert into TEST_LOB(CDATA) values(?)");
Reader reader =  new  StringReader(yourXmlData);
stmnt.setCharacterStream( 1 , reader, yourXmlData.length());
...
Рейтинг: 0 / 0
Как сохранить CLOB в нужной кодировке
    #33727109
ЕвгенийЧ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ, только я чего то не понял
String yourXmlData = createXMLOutput(*);
* -это что за параметр?
Делаю так и чуствую какая то лажа.
----------------
public static void clob2file(CLOB clob, String characterSet)
throws SQLException, IOException {
String yourXmlData = createXMLOutput(clob);
PreparedStatement stmnt = connection.prepareStatement("insert into TEST_LOB(CDATA) values(clob)");
Reader reader = new StringReader(yourXmlData);
stmnt.setCharacterStream(1, reader, yourXmlData.length());
}
---------------
--формирования XML (на выполнение)
declare ca CLOB;
begin
...
ca := --формирование XML
-- Вызываю процедуру на выполнение
clob2file(ca,'UTF8');
end;
---------------
Так или я чего то не понял. Извиняюсь за глупые вопросы, я только учусь.
...
Рейтинг: 0 / 0
Как сохранить CLOB в нужной кодировке
    #33727161
AciD_v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты работаешь на стороне сервера или из Java-клиента (я имею ввиду выполнение операций формирования CLOB и записи его в таблицу)? БД - Oracle?
...
Рейтинг: 0 / 0
Как сохранить CLOB в нужной кодировке
    #33727209
ЕвгенийЧ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ты работаешь на стороне сервера или из Java-клиента (я имею ввиду выполнение операций формирования CLOB и записи его в таблицу)? БД - Oracle?
--------------------------
Формирую CLOB на стороне сервера. БД-Oracle.
...
Рейтинг: 0 / 0
Как сохранить CLOB в нужной кодировке
    #33727389
AciD_v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как сохранить CLOB в нужной кодировке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]