|
|
|
Как сохранить CLOB в нужной кодировке
|
|||
|---|---|---|---|
|
#18+
Всем привет ! Я в 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();} } } ---------------- Как бы это сделать ? Подскажи пожалуйста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2006, 12:59 |
|
||
|
Как сохранить CLOB в нужной кодировке
|
|||
|---|---|---|---|
|
#18+
Попробуй так: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2006, 13:19 |
|
||
|
Как сохранить CLOB в нужной кодировке
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответ, только я чего то не понял 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; --------------- Так или я чего то не понял. Извиняюсь за глупые вопросы, я только учусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2006, 13:59 |
|
||
|
Как сохранить CLOB в нужной кодировке
|
|||
|---|---|---|---|
|
#18+
Ты работаешь на стороне сервера или из Java-клиента (я имею ввиду выполнение операций формирования CLOB и записи его в таблицу)? БД - Oracle? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2006, 14:11 |
|
||
|
Как сохранить CLOB в нужной кодировке
|
|||
|---|---|---|---|
|
#18+
Ты работаешь на стороне сервера или из Java-клиента (я имею ввиду выполнение операций формирования CLOB и записи его в таблицу)? БД - Oracle? -------------------------- Формирую CLOB на стороне сервера. БД-Oracle. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2006, 14:22 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33727161&tid=2149272]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
178ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 485ms |

| 0 / 0 |
