|
|
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
Привет знатокам Java! К которым себя не отношу. Есть код, который преобразует файл BMP в файл PNG с добавлением альфа канал: Код: 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. Как переделать код, чтобы на входе вместо имени файла был BLOB и на выходе BLOB? Т.е. как в BufferedImage input_image передать BLOB и получить его из BufferedImage image. СУБД Oracle11g. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 13:48 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
Изучите классы InputStream и OutputStream. Через эти две абстракции можно организовать ввод\вывод как в файл, так и в BLOB. Конкретно ваш вопрос про BLOB выглядит забавно, так как для BLOB нужно ещё подключение к БД и запросы, которых в приведенном коде нет. Покажите как пробовали и что не получилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 13:52 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 14:04 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
Подключения я опустил, чтобы не загромождать. А запросов нет, т.к. на входе получаем уже выбранный BLOB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 14:06 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
karlov69Как переделать код, чтобы на входе вместо имени файла был BLOB и на выходе BLOB? Вариант1 Код: java 1. а снаружи цикл по ResultSet с передачей i для ProgressBar 2. Я бы не писал в эту же запись при конвертировании, а создал ещё одно поле в табле и писал туда. Если глюков не было, то потом одной командой всё заменил. ЗЫ Как из ResultSet взять блоб наверно в курсе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 14:42 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
karlov69, т.е. получается что у тебя всё есть на входе. Нужно только передать Connection для вставки нового БЛОБ. Т.к. у меня например, курсор читающий и вставляю в другое новое поле. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 14:49 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
karlov69, 1) Нужно два блоба, один на чтение, второй на запись 2) Я же вам указал на Input/OutputStream. Не стоит метод перекодирования изображения привязывать к JDBC API. Используется Input/OutputStream для обмена между методом перекодировки и методом работы с JDBC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 14:53 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
Petro123, Я читаю BLOB из одного поля, а вставляю в другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 14:54 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Спасибо, буду читать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 14:56 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
karlov69Petro123, Я читаю BLOB из одного поля, а вставляю в другое. тогда как у меня. Только проект не закончен - в разработке. Из отрицательного ещё то, что при блобах 200-300 мегов память кончается)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 14:58 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
Petro123karlov69Petro123, Я читаю BLOB из одного поля, а вставляю в другое. тогда как у меня. Только проект не закончен - в разработке. Из отрицательного ещё то, что при блобах 200-300 мегов память кончается)). PipedInputStream не спасает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 15:00 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, У меня BLOB-ы маленькие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 15:06 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczPipedInputStream не спасает? попробую. Спс. Но не понял как он поможет? - в иклипсе поставил -Xms256m -Xmx1024m Это ведь мало. Нужно пару гигов, а пишут что в винде проблема. Тут три класса вроде читают это PDF в оперативку. И нужно поболее памяти. Чуть позже отпишусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 15:12 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
Petro123, Так не пиши ничего в оперативку. Запускай фоновый поток, который формирует документ и вешай его на Piped Stream в фоновом потоке . А при работе с базой скорми другую сторону трубы в JDBC, чтобы драйвер читал данные из InputStream, когда они нужны, а не из памяти. Тут, конечно, ещё зависит от реализации драйвера. Но мне, кажется должно, минимизировать расход по памяти. Но будет немного медленнее из-за блокировок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 15:17 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczТак не пиши ничего в оперативку. это не понял. - задача взять с бд PDF и сжать его. Код: java 1. 2. первая строка вобрала в память. Вторая строка дополнительно (так думаю) берёт ещё 200 мегов. На второй строке райзе и на след. итерации нехватка памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 15:23 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
Blazkowiczчтобы драйвер читал данные из InputStream вроде так как ты написал. Будет время отпишусь. Пока взял файлы поменьше размером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 15:26 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Вроде что-то получилось (запихнуть BLOB в BufferedImage и сконвертить): Код: 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. Только как теперь в Return вывести BLOB? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 17:05 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
karlov69Вроде что-то получилось (запихнуть BLOB в BufferedImage и сконвертить): Вы осознаёте то что вы записали PNG в тот же BLOB, из которого прочитали BMP? karlov69Только как теперь в Return вывести BLOB? Зачем? У вашего метода дожна быть следующая сигнатура Код: java 1. 2. 3. Работа с БД и BLOB-ами это задача других методов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 17:10 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, А так: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 18:19 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
karlov69, Функции из одной строки не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 18:35 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
karlov69, Ну, уже лучше, если не обращать внимание на Coding Convention и Single Responsibility Principle Но только для того чтобы писать и читать в один и тот же BLOB вам, веротяно, понадобиться Updatable ResultSet ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 18:37 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Как все-таки из OutputStream получить BLOB? При присвоении OutBlob = pngOutput ругается, что неправильный тип. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 18:50 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
karlov69, Поиск на любой пример записи в блоб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 19:07 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
karlov69Как все-таки из OutputStream получить BLOB? При присвоении OutBlob = pngOutput ругается, что неправильный тип. Вы не знаете Java, но просите вам объяснить детали работы с JDBC. При этом ещё и про BLOB, что ещё сложнее основ JDBC. Я даже не знаю как вам ответить. Гугл - create Oracle BLOB, разве что. Ищите примеры работы с BLOB в Java и используйте их. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2016, 19:11 |
|
||
|
Передать в Java BLOB и получить BLOB.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Все получилось: Код: 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. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2016, 16:23 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=83&tid=2123522]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 384ms |

| 0 / 0 |
