| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: GUI и Java FX приложения > поместить Вlob в jLabel |
| Автор: Swatch 9.10.2007, 11:21 | ||
| Добрый день. Есть считанное из базы изображение. как поместить его в jLabel, не подскажите?
|
| Автор: powerOn 9.10.2007, 11:25 | ||
|
| Автор: serger 9.10.2007, 11:33 | ||
| раскидали вопросы.. добавть это..
|
| Автор: Swatch 9.10.2007, 11:50 | ||||
хмм... оч. интересно... изображение не загружается... ловится SQLException.
Изображение точно записалось в базу. записала его так:
В чем может быть дело??? |
| Автор: AlexeyVorotnikov 9.10.2007, 12:52 |
| Что за классы property и image? И где именно ловится SQLException и что в нём написано? |
| Автор: serger 9.10.2007, 12:58 |
| Сперва.. 1. Конкретнее можите сказать какое SQL exception? Привести его текст. 2. Вы точно уверены, что картинка в базу попадает? (Проверьте, раз привели текст значит я так думаю не смотрели в базе) 3. Ну и проверьте все запросы. |
| Автор: Swatch 9.10.2007, 13:11 | ||
| 1. вот такой эксепшн org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544332. invalid transaction handle (expecting explicit transaction start) at org.firebirdsql.jdbc.FBBlob$FBBlobInputStream.<init>(FBBlob.java:647) at org.firebirdsql.jdbc.FBBlob$FBBlobInputStream.<init>(FBBlob.java:620) at org.firebirdsql.jdbc.FBBlob.getBinaryStream(FBBlob.java:357) at org.hibernate.lob.SerializableBlob.getBinaryStream(SerializableBlob.java:39) 2. зря Вы думаете, что в базу я не смотрела. туда я посмотрела в первую очередь и картинка там есть. 3. SQLException ловится вот здесь
4. property и image это мои классы, которые соответствуют таблицам в БД. в них прописаны методы гет и сет для полей таблиц. |
| Автор: AlexeyVorotnikov 9.10.2007, 13:21 |
| Судя по сообщению "invalid transaction handle (expecting explicit transaction start)" что-то случилось с транзакцией. Скорее всего она либо закрылась раньше времени, либо вообще не открывалась. |
| Автор: serger 9.10.2007, 13:24 |
| Ну, в принципе, он же Вам грит в чём проблема.. У Вас не открывается транзакция перед запросом.. Точнее не скажу. Посмотрите-проверьте как настроены транзакции. Меня опередили. ps Совет: внимательно смотрите trace ошибок и читайте название ошибки - часто это очень помогает, а в случае SQLException - ответ на ошибку бывает очень подробным и конкретным. |
| Автор: AlexeyVorotnikov 9.10.2007, 13:42 |
| Скорее всего проблема вот в чём: многие базы не поддерживают отложенное чтение из блоба. Т.е. прочитать данные из блоба надо сразу же как прочитана из базы соответствующая запись. Если прочитать из базы другую запись, то блоб из предыдущей записи становится недоступен. Я не знаю как реализована работа с блобами в FireBird. Но похожая проблема у меня была при работе с другой базой. |
| Автор: serger 9.10.2007, 14:14 |
| Из 5 IB я читал не через Blob, а через getBytes(). Можно покапать в этом направлении. Правда, не имею понятия как Hibernate с массивом байт будет работать... |
| Автор: Swatch 9.10.2007, 15:39 |
| хммм... пробовала уже, что-то пока безрезультатно.... |
| Автор: AlexeyVorotnikov 9.10.2007, 16:38 |
| Давайте Вы всё-таки покажете нам свой класс image и мапинг для него. |