Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / insert blob / 5 сообщений из 5, страница 1 из 1
18.11.2004, 19:08
    #32790113
z
z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
insert blob
что я делаю не так?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
         byte [] bytes = dest.toByteArray();
         int  fileLength = bytes.length;//=6026
 try  {
            conn = DriverManager.getConnection(url, user, bdpwd);
            java.sql.CallableStatement pstmt = conn.prepareCall("insert into test_blobs(id, tblob) values(?, ?)");
            java.io.InputStream fin =  new  ByteArrayInputStream(bytes);
            pstmt.setInt( 1 ,  128 );
            pstmt.setBinaryStream ( 2 , fin, fileLength);
            pstmt.executeUpdate();

        }  catch  (Exception e) {

            out.print(e.getLocalizedMessage());
        }

пишет:Io exception: Connection reset
...
Рейтинг: 0 / 0
18.11.2004, 19:35
    #32790142
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
insert blob
База - Oracle?
...
Рейтинг: 0 / 0
18.11.2004, 20:02
    #32790165
z
z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
insert blob
да,

я тут нашел ответ Том Кайта...
http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=3&t=001431
...
Рейтинг: 0 / 0
18.11.2004, 20:15
    #32790178
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
insert blob
Можно еще так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 byte [] bytes = dest.toByteArray();
conn = DriverManager.getConnection(url, user, bdpwd);
CallableStatement pstmt = conn.prepareCall("insert into test_blobs(id, tblob) values(?, ?)");
pstmt.setInt( 1 ,  128 );
BLOB blob = BLOB.createTemporary(conn, false, BLOB.DURATION_SESSION);
blob.putBytes( 1 , bytes);
pstmt.setBlob( 2 , blob);
pstmt.execute();

BLOB - это oracle.sql.BLOB. Вышеприведенный код должен работать на Oracle JDBC 9i. В Oracle JDBC 10g они реализовали-таки метод Blob.setBytes(), т.е. можно писать:
Код: plaintext
1.
2.
Blob blob = BLOB.createTemporary(conn, false, BLOB.DURATION_SESSION);
blob.setBytes( 1 , bytes);

В 9i метод Blob.setBytes() вызывает UnsupportedException.
...
Рейтинг: 0 / 0
18.11.2004, 20:20
    #32790186
z
z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
insert blob
Спасибо.
Реально работает.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / insert blob / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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