У меня есть Java-программа, которая создает несколько xml-файлов, а затем зашифровывает их и сохраняет их в файловой системе. Позже в программе я хочу поместить тот же ZIP-файл в столбец blob моей базы данных оракула. Проблема в том, что я не уверен, как это сделать. Мне не нужно читать или делать что-либо с данными, просто переместите их в базу данных для постоянного центрального хранилища.Как перенести zip-файл в столбец blob в Java?
Спасибо!
Я попытался это (обработка ошибок удалены): общественного недействительными updateBlob (String идентификатор, File НФ) { InputStream является = новый FileInputStream (SF); Строка sql = "INSERT INTO tname ('bCol')" + "VALUES (?) WHERE tnameId =?"; PreparedStatement stmt = null; Connection conn = SqlUtil.getCurrentConnection(); stmt = conn.prepareStatement (sql); stmt.setBinaryStream (1, is, sf.length()); stmt.setString (2, id); stmt.executeUpdate(); получил ошибку: java.lang.AbstractMethodError: org.apache.commons.dbcp.DelegatingPreparedStatement.setBinaryStream (ILjava/IO/InputStream, J) V – Ironosity
Попытка литья 'long' результат' sf.length() ', чтобы 'int' ... была версия' setBinaryStream', которая взяла длину 'int', а затем JDBC 4.0 добавила версию, которая занимает длину' long'. Метод 4.0 может быть вызван против библиотеки 3.0. Если это не сработает, убедитесь, что оба Commons DBCP и драйвер Oracle - это версии, поддерживающие хотя бы JDBC 3.0. – ColinD