Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 38

Нарушение целостности информации при попытке обновить данные в BLOB-e Oracle-a

22.09.2010, 16:40. Показов 1686. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Pri popitke update-a dannix xranyasixsya v BLOB-e Oracle-a voznikaet narushenie celostnosti informacii: nevozmozno stanovitsya chtenie novix dannix v vide file-a iz BLOB-a pri popitke zaneseniya v BLOB dannix menshego obyoma chem dannie xranyasiesya v BLOB-e.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.09.2010, 16:40
Ответы с готовыми решениями:

Сессия(сеанс) закрывается при попытке обновить данные аккаунта в базе данных
Есть две таблицы "users" с логинами и паролями пользователей и "personalinfo" с именами, фамилиями и т.д. Данные таблицы с личной...

Нарушение целостности данных при установке связей между таблицами
не могу связать таблицы: - Выдаётся ошибка о нарушении целостности данных. Не пойму в чём причина. нужно связать 4-е таблицы с главной...

Ошибка при попытке обновить содержимое в таблице
Здравствуйте, столкнулся с проблемой, помогите если не сложно) При попытке обновить записи в БД возникает ошибка типа поле не уникально,...

8
0 / 0 / 5
Регистрация: 16.07.2010
Сообщений: 79
22.09.2010, 22:29
У меня никаких проблем не было, а можно поподробнее о проблеме.
0
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
23.09.2010, 11:44
известый трабл оракла. вам нужно сначала очистить текущий блоб, а затем уже заливать новый. иначе новый просто перетирает старый (и хвосты остаются от бОльшего блоба). ессно, все нужно проводить в одной транзакции.
0
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
26.09.2010, 11:10
данный пример для клоба(клоПа? , но алгоритм работы с блобом идентичен.

q - ссылка на вспомогательный бин, обворачивающий JDBC, можно просто игнорировать.
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
30
31
32
33
34
35
private static final String SELECT_CLOB =
            'select dpf_template from mcm_digest_profile where dpf_id = ? for update';
 
    private static final String UPDATE_CLOB =
            'update mcm_digest_profile set dpf_template = ? where dpf_id = ?';
 
    private static final String RESET_CLOB =
            'update mcm_digest_profile set dpf_template = empty_clob() where dpf_id = ?';
 
...
 
// reset clob
                ps = q.prepareStatement(RESET_CLOB);
                ps.setObject(1, dpfId);
                q.executeUpdate();
 
                // get reference to CLOB
                ps = q.prepareStatement(SELECT_CLOB);
                ps.setObject(1, dpfId);
                q.executeQuery();
                DynaBean result = q.getResults()[0];
                oracle.sql.CLOB clob = (oracle.sql.CLOB) result.get('DPF_TEMPLATE');
 
                // write to CLOB
                Writer w = clob.getCharacterOutputStream();
                w.write('' + properties.get('DpfTemplate'));
                w.flush();
                w.close();
 
                // update DB
                ps = q.prepareStatement(UPDATE_CLOB);
                ps.setClob(1, clob);
                ps.setObject(2, dpfId);
 
                q.executeUpdate();
закрывать коннект нельзя нигде, иначе клоб/блоб обрывает связь с базой и на этом праздник заканчивается.
0
mishgun
26.09.2010, 17:44
i dazhe v finally{} nelzya?)))
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
26.09.2010, 19:22
было бы скучно без mishgun'a

можно, но только если так
Java
1
2
3
4
5
6
finally {
 
System.setSecurityManager(null);
System.exit(-1);
 
}
при этом поБУБНИТЬ с секьюрити файликом еще
0
mishgun
26.09.2010, 22:14
Togda nemnogo glupiy vopros a kak naschet plodyashihsya nezakritih connections v BD?Ili predlagaete zakrivat eto v configuration file pool-a?
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
27.09.2010, 10:56
mishgun, я не знаю, какой еще смайлик ставить для отображения иронии

имелось в виду, что нигде _между_ строк нельзя этого делать в данном случае. а где закрывать - ваше дело. можно в finally, можно в сервисе, вызывающим JDBC код (если, например, вам нужны JTA XA транзакции, то закрывать коннект нельзя в finally, он ведь еще может понадобиться не только вам )
0
mishgun
27.09.2010, 18:03
NU togda nado byt telepatom chto by ponyat iz tvoih slov
'закрывать коннект нельзя нигде, иначе клоб/блоб обрывает связь с базой и на этом праздник заканчивается.' chto zakrivat ego vsyo taki mozhno.Tak chto ironiya zdes neumestna....
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.09.2010, 18:03
Помогаю со студенческими работами здесь

ActiveX в броузере вылетает при попытке обновить страницу
Подскажите как решить проблему: Пишу на Visual C++ 6.0 ActiveX компонент с использованием MFC. Компонент должен работать на HTML...

При попытке обновить поле падает mysql на денвере
Запрос на грани фантастики: MySQL_Query("UPDATE `pages` SET `rus_name`='$name', `content`='$text', `name`='$translit' WHERE...

Синий экран при попытке обновить драйвер в диспетчере устройств
Если выбрать "обновить конфигурации оборудования" то та же ерунда Я пытался сделать это с тремя устройствами, 2 неизвестных и 1...

При попытке обновить Windows 10 - ошибка 0xc0000096. Что делать?
При попытке установить обновление Win10 система отказала и выдала ошибку 0xc0000096. Плз, подскажите - Что делать?

При попытке обновить в DataSet не происходит генерация кода в .designer.cs
Здравствуйте, возникла вот какая проблема существует DataSet к нему подключено много таблиц и хранимок, у меня обновилась одна из них в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru