Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / JDBC запись BLOB в ORACLE / 3 сообщений из 3, страница 1 из 1
10.05.2016, 16:31
    #39232607
JDS
JDS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC запись BLOB в ORACLE
По примерам в сети слепил тестовый пример.
В БД:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TABLE test_blob(bf BLOB);
/
CREATE PROCEDURE ins_blob(P_BLOB BLOB)
IS
BEGIN
   INSERT INTO test_blob (bf) VALUES (P_BLOB);
END;
/


Вызов из Java:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
    public static void main(String[] args) throws SQLException, IOException {
        dbconn = DriverManager.getConnection(baseAdress, baseUser, basePassword);
        callStms = dbconn.prepareCall("{call ins_blob(?)}");                
        
        oracle.sql.BLOB b = oracle.sql.BLOB.createTemporary(dbconn, true, oracle.sql.BLOB.DURATION_SESSION);
        
        OutputStream os = b.setBinaryStream(0L);
        try {       
            os.write("test12345".getBytes());                    
            callStms.setBlob(1, b);
            callStms.executeQuery();
        } finally {
            os.flush();
            os.close();
        } 
    }


Все работает, но в таблицу ложатся записи с пустым полем fb.
Что не так?
...
Рейтинг: 0 / 0
10.05.2016, 16:34
    #39232612
JDS
JDS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC запись BLOB в ORACLE
Сори. Понял. Чтобы передать параметр, надо закрывать поток перед вызовом хп.
...
Рейтинг: 0 / 0
10.05.2016, 16:37
    #39232616
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC запись BLOB в ORACLE
JDSСори. Понял. Чтобы передать параметр, надо закрывать поток перед вызовом хп.
Меня тоже умиляет вызов flush() после executeQuery().
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / JDBC запись BLOB в ORACLE / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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