powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / file to blob
18 сообщений из 18, страница 1 из 1
file to blob
    #37972576
shustrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!!
Из базы mysql считываю значение в Blob
Blob bl = rs.getBlob("pic");
После чего хочу занести файл в него, но ничего не получается.

FileInputStream fis = new FileInputStream(file);
OutputStream os = bl.setBinaryStream(1L);
byte[] buffer = new byte[1024];
int length = -1;
while ((length = fis.read(buffer)) != -1)
os.write(buffer, 0, length);

os.flush();
fis.close();
os.close();
...
Рейтинг: 0 / 0
file to blob
    #37972597
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shustrikно ничего не получается.
Не компилируется код?
Компилируется, но не запускается?
Компилируется, запускается, но не работает пошаговая отладка?
Компилируется, запускается, работает пошаговая отладка, но файл не пишется в Blob?
Компилируется, запускается, работает пошаговая отладка, файл пишется в Blob, но не сохраняется в базу?
...
Рейтинг: 0 / 0
file to blob
    #37972889
shustrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Компилируется, запускается, работает пошаговая отладка, файл пишется в Blob, но не сохраняется в базу
...
Рейтинг: 0 / 0
file to blob
    #37972893
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shustrikКомпилируется, запускается, работает пошаговая отладка, файл пишется в Blob, но не сохраняется в базу
Замечательно. И где код сохранения в базу? Или вы хотите через updatable resultset?
...
Рейтинг: 0 / 0
file to blob
    #37972898
shustrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В конце я делаю conn.commit(), но в базу не пишет
...
Рейтинг: 0 / 0
file to blob
    #37972905
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shustrikВ конце я делаю conn.commit(), но в базу не пишет
И что? Где вы просите JDBC драйвер сделать непосредственно UPDATE вашего поля?
http://www.exampledepot.com/egs/java.sql/UpdateRow.html
...
Рейтинг: 0 / 0
file to blob
    #37972930
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 26.09.2012 15:18, Blazkowicz wrote:

> И что? Где вы просите JDBC драйвер сделать непосредственно UPDATE вашего поля?

В случае Оракла это не надо, данные идут непосредственно по полученному локатору. Насчет MySQL - не в курсе.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
file to blob
    #37972935
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 26.09.2012 15:15, shustrik wrote:

> В конце я делаю conn.commit(), но в базу не пишет

Глупый может вопрос - автокоммит выключен?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
file to blob
    #37972953
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis PopovВ случае Оракла это не надо, данные идут непосредственно по полученному локатору.

Я очень сильно сомневаюсь:
http://stackoverflow.com/q/8348427
Есть где почитать?
...
Рейтинг: 0 / 0
file to blob
    #37972963
shustrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему этот код с oracl-ом работает?
...
Рейтинг: 0 / 0
file to blob
    #37972966
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shustrikПочему этот код с oracl-ом работает?
Потому что "данные идут непосредственно по полученному локатору". :)
...
Рейтинг: 0 / 0
file to blob
    #37972972
shustrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А из mysql не получает локатор?
...
Рейтинг: 0 / 0
file to blob
    #37972986
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shustrikА из mysql не получает локатор?
Это была ирония. Лично у вас код работает по Oracle? Или что вы хотели спросить?
...
Рейтинг: 0 / 0
file to blob
    #37973016
shustrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочу понять почему с одной бд работает, а с другой нет.
...
Рейтинг: 0 / 0
file to blob
    #37973030
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shustrikХочу понять почему с одной бд работает, а с другой нет.
У вас работает или у Дениса?
...
Рейтинг: 0 / 0
file to blob
    #37973043
shustrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у Васи.
...
Рейтинг: 0 / 0
file to blob
    #37973051
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shustrikу Васи.
У дачи.
...
Рейтинг: 0 / 0
file to blob
    #37973208
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЯ очень сильно сомневаюсь:
http://stackoverflow.com/q/8348427
Есть где почитать?

Я попробовал:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Connection con;
...

con.setAutoCommit(false);

Statement st = con.createStatement();
st.execute(
  "begin execute immediate 'drop table TEST_BLOB'; exception when others then if sqlcode != -00942 then raise; end if; end;"
);
st.execute("create table TEST_BLOB as select empty_blob() pic from DUAL");

ResultSet rs = st.executeQuery("select pic from TEST_BLOB for update");
rs.next();
Blob blob = rs.getBlob("pic");
rs.close();

OutputStream os = blob.setBinaryStream(1L);
byte[] bytes = {1, 2, 3, 4, 5 ,6 ,7 ,8, 9, 10};
os.write(bytes, 0, bytes.length);
os.close();

rs = st.executeQuery("select pic, length(pic) length_pic from TEST_BLOB");
rs.next();
blob = rs.getBlob("pic");
System.out.println("blob.length()=" + blob.length() + ", length_pic=" + rs.getInt("length_pic"));

rs.close();
st.close();
con.close();



На выходе:
Код: plaintext
blob.length()=10, length_pic=10


Но, конечно, если локатор получается через oracle.sql.BLOb.createTemporary()? То да, его по-моему придется записать в таблицу.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / file to blob
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]