Как сохранить бинарный файл в базе данных sql? - PullRequest
6 голосов
/ 13 мая 2009

У меня есть столбец varbinary, который мы используем для хранения файлов Excel. Мне нужно обновить этот столбец содержимым другого файла xls, который в настоящее время находится в моей файловой системе.

Учитывая java.sql.Connection, как мне обновить строку?

Мы используем SQL Server 2005.

Ответы [ 4 ]

5 голосов
/ 14 мая 2009

Я закончил тем, что сделал следующее:

PreparedStatement st = conn.prepareStatement("update MyTable set binaryData = ? where id= 9");
st.setBinaryStream(1, new FileInputStream(file), (int)file.length());
st.execute();
2 голосов
/ 13 мая 2009

Используя java.util.Connection и правильный SQL, вы можете создать соответствующий java.sql.PreparedStatement (я не использую SQL Server, поэтому вам лучше будет написать SQL самостоятельно).

Вы можете создать java.sql.Blob, используя байтовые данные, прочитанные из вашего файла xls.

Вызовите .setBlob (Blob) на ваше PreparedStatement и затем выполните его.

Я не написал код для вас, но это должно быть основами.

0 голосов
/ 18 апреля 2015

В старых версиях Java вы можете попробовать

obj.setObject("@somefield", some_data);
0 голосов
/ 13 мая 2009

Передача байтового массива в поле BLOB .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...