![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| proger |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 400 Регистрация: 10.10.2004 Репутация: нет Всего: 1 |
Здрасти, пишу в оракал в блоб поле данные очень большего размера (больше 255) таким способом:
Все отлично работает! Но при UPDATE не пашет:
А вот это не пашет, пишет: Warning: OCI-Lob::write() [function.write]: OCILobGetLength: OCI_INVALID_HANDLE in c:\ibank\inc\system\paydockz.php Почему???? |
||||
|
|||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
Запрос сам выполняется?
Ошибки нет? Если честно, я с ораклом не работал, думаю тут специфика какая-то. Скорее всего где-то не верно параметр или режим указал. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: нет Всего: 538 |
В lob locator возвращаемый empty_clob(), писать нельзя.
Используй вместо него или dbms_lob.createtemporary(), но тут придется возится с PL/SQL процедурами. Или вначале проведи insert, а затем select и тогда уже пиши в LOB. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| proger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 400 Регистрация: 10.10.2004 Репутация: нет Всего: 1 |
LSD
А пример можно??? |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: нет Всего: 538 |
На PHP нет, я с ним не знаком, на Java пожалуйста (тебе нужен второй вариант). Тебе надо сделать приблизительно следующее, объявить переменную типа blob. Вызвать функцию dbms_lob.createtemporary указав в качестве аргумента эту переменную, затем заполняешь blob данными и вставляешь его в таблицу. После чего вызываешь dbms_lob.freetemporary для этого blob. Если поможет на PL/SQL это выглядит так:
Как произвести вначале insert, а потом select разберешься сам? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| proger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 400 Регистрация: 10.10.2004 Репутация: нет Всего: 1 |
LSD
А других способов нету??? |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: нет Всего: 538 |
Я извиняюсь, был не выспамшись, написал бред. Я почему то подумал, что речь идет об insert.
С update делай так: Делаешь select for update для этой строки:
Затем пишешь в этот blob. Только смотри чтобы в столбце не было null, пустой blob допустим а null нет. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |