Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сохранение файла в БД 
:(
    Опции темы
Zhenia
Дата 22.6.2007, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 22.6.2007

Репутация: нет
Всего: нет



Добрый день! Помогите, пожалуйста, разобраться. Пытаюсь сохранить pdf-файл (размер ~500Kb) в БД MSSQL 2000 (тип поля IMAGE), но ну никак не хочет работать updateBinaryStream. Код следующий:

Код

    ...
    Multipart mpart = (Multipart) mp;
    Part part = null;
    ...

    ...
    part = mpart.getBodyPart(i);
    ...

    ...
    // пробовал так, но с тем же эффектом.
//    PreparedStatement ps = conn.prepareStatement("INSERT INTO files (content) VALUES (?)");
//    ps.setBinaryStream(1, part.getInputStream(), part.getSize());
//    ps.executeUpdate();
//    ps.close();
    ...
    Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    String strsql = "SELECT * FROM files WHERE 0 = 1";
    ResultSet rs = stmt.executeQuery(strsql);

    rs.moveToInsertRow();
    rs.updateInt("type", 1);
    rs.updateDate("date", new java.sql.Date(new java.util.Date().getTime()));
    rs.updateString("name", fileName);
    rs.updateNull("description");
    rs.updateBinaryStream("content", part.getInputStream(), part.getSize());
    rs.insertRow();

    rs.close();
    rs = null;
    stmt.close();
    stmt = null;
    ...


Без rs.updateBinaryStream(...) все прерасно работает, с ним же - сервлет выполняется раз в 50 медленнее, чем без него, так впридачу ничего не добавляет... Никаких ошибок не выдает... В чем может быть дело? Заранее благодарен!

P.S. На всякий случай - jdk 1.4.2, сервер Resin 2.1.17.

PM MAIL   Вверх
batigoal
Дата 24.6.2007, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 16
Всего: 151



В чем ошибка - не знаю, но правильный путь - это тот, который у тебя в комментариях.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Zhenia
Дата 25.6.2007, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 22.6.2007

Репутация: нет
Всего: нет



Выяснилось, что если файл меньше 64K, то он отлично сохраняется.... Т.е. этот setBinaryStream/updateBinaryStream  не поддерживает поток более 64K или что? Как обойти? Куда копать? Заранее спасибо!
PM MAIL   Вверх
tux
Дата 26.6.2007, 07:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Цитата(Zhenia @  25.6.2007,  15:36 Найти цитируемый пост)
Т.е. этот setBinaryStream/updateBinaryStream  не поддерживает поток более 64K или что? 

У потока вообще нет никаких ограничений на размер. Ограничения могут быть у драйвера JDBC. Драйвер от Microsoft написан в традиционном для этой конторы стиле, если используется именно он, рекомендую поменять на JTDS.
PM MAIL Skype GTalk Jabber YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0939 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.