|
|
|
Запись содержимого файла в CLOB поле таблицы Oracle
|
|||
|---|---|---|---|
|
#18+
Добрый день! Прошу помощи, замучился. Java только начал изучать. Пишу загрузчик файлов в таблицы Оракла. Кое что получается, но чувство того, что сделано это не оптимально меня не покидает. Есть процедура в Oracle в которую нужно передать значение типа clob и прочитать clob. Файл с данными находится в файловой системе. Кодировка файла Windows-1251. Данные в базу попадают с искаженной кодировкой (кириллица заменена знаками вопросов). Возможно у вас есть наработки по этой теме, поделитесь пожалуйста или подскажите направление. Спасибо. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2016, 19:28 |
|
||
|
Запись содержимого файла в CLOB поле таблицы Oracle
|
|||
|---|---|---|---|
|
#18+
Используйте java.io.InputStreamReader с указанием кодировки файла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2016, 19:35 |
|
||
|
Запись содержимого файла в CLOB поле таблицы Oracle
|
|||
|---|---|---|---|
|
#18+
1) RTFM по FileReader нам сообщает RTFM The constructors of this class assume that the default character encoding and the default byte-buffer size are appropriate 2) Можно указать явно через -Dfile.encoding в параметрах запуска желаемую кодировку cp1251 3) Зачем-то вы строку пишете в CLOB двумя способами сразу. Один через Writer, второй через setString ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2016, 19:35 |
|
||
|
Запись содержимого файла в CLOB поле таблицы Oracle
|
|||
|---|---|---|---|
|
#18+
IgorD, Если использовать Apache Commons IOUtils и конструкцию try with resource, то можно половину кода выкинуть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2016, 20:11 |
|
||
|
Запись содержимого файла в CLOB поле таблицы Oracle
|
|||
|---|---|---|---|
|
#18+
Спасибо всем, кто откликнулся. Мой рабочий вариант: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2016, 11:10 |
|
||
|
Запись содержимого файла в CLOB поле таблицы Oracle
|
|||
|---|---|---|---|
|
#18+
Вопрос по поводу загрузки файла в Clob. Возможно ли загружать файл в той кодировке, в какой он есть, без распознавания кодировки, перекодировки и т.п.. Подозреваю, что это возможно только с Blob полями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 17:43 |
|
||
|
Запись содержимого файла в CLOB поле таблицы Oracle
|
|||
|---|---|---|---|
|
#18+
Верно. CLOB хранит данные в кодировке БД. Поэтому, если вы хотите сохранить оригинальную кодировку файла, не распознавая её, то только BLOB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 17:52 |
|
||
|
Запись содержимого файла в CLOB поле таблицы Oracle
|
|||
|---|---|---|---|
|
#18+
BlazkowiczВерно. CLOB хранит данные в кодировке БД. Поэтому, если вы хотите сохранить оригинальную кодировку файла, не распознавая её, то только BLOB. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 17:53 |
|
||
|
Запись содержимого файла в CLOB поле таблицы Oracle
|
|||
|---|---|---|---|
|
#18+
Не дает мне покоя вопрос записи данных в кодировке UTF8 в Clob :) При одинаковых условиях программа на Delphi xe7 (odac) успешно сохраняет файл в поле CLOB в UTF8 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Не может быть, что на Java нет варианта. Понимаю, что используются разные механизмы доступа к базе, но все же.... Кодировка в базе установлена следующая Код: powershell 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 16:36 |
|
||
|
Запись содержимого файла в CLOB поле таблицы Oracle
|
|||
|---|---|---|---|
|
#18+
IgorDНе дает мне покоя вопрос записи данных в кодировке UTF8 в Clob :) вам длины обычного поля текст не хватает что ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 16:45 |
|
||
|
Запись содержимого файла в CLOB поле таблицы Oracle
|
|||
|---|---|---|---|
|
#18+
IgorD, Забудьте про Delphi. Эта падла спокойно пишет текст в своей текущей кодировке, которая отличается от той что указана в БД. Не знаю про CLOB, но на всяких VARCHAR-ах я такое видел. На выходе получаеться барахло типа такого: Код: java 1. Я долго с ними бодался, объясняя как важно настроить в БД нужную кодировку и потом её указывать в Java. А они мне перечили мол у них в Delphi и так всё работает (просто некоторые символы почему-то пропадают). Пришлось целый день убить, чтобы разобраться с Delphi проектом и ораклом. Оказалось, эта падла втихаря делает такое убийственное преобразование. И, с одной стороны, вроде всё работает. А с другой стороны определенные символы таки пропадают из-за того что преобразование обратимое далеко не для всех символов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 16:46 |
|
||
|
Запись содержимого файла в CLOB поле таблицы Oracle
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЯ долго с ними бодался, кусок потерялся... у меня были китайские клиенты с Delphi проектом. Где "всё работало". Хотя по факту "всё работало" через задний проход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 16:48 |
|
||
|
Запись содержимого файла в CLOB поле таблицы Oracle
|
|||
|---|---|---|---|
|
#18+
Petro123, Размер файла 23 мегабайта. Использую таблицы и структуры уже существующей системы, поэтому что либо менять там получится :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 16:49 |
|
||
|
Запись содержимого файла в CLOB поле таблицы Oracle
|
|||
|---|---|---|---|
|
#18+
Blazkowicz А с другой стороны определенные символы таки пропадают из-за того что преобразование обратимое далеко не для всех символов. И я такое наблюдал. Так и есть. Немного успокоился. Буду сохранять в CP1251 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 16:53 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=83&tid=2123540]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
19ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 359ms |

| 0 / 0 |
