Добрый день! Помогите, пожалуйста, разобраться. Пытаюсь сохранить 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.
|