Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» ODAC и BLOB в RAD Studio 2010

Автор: badguy
Дата сообщения: 26.01.2012 12:30
День добрый. В одном из относительно старых проектов столкнулся с такой проблемой - при заливке достаточно больших файлов в BLOBы - где-то в коде заливки срывает крышу и выедается вся доступная приложению память и затем само собой исключение по этому поводу (VCL, out of memory).

проявилось в следующей конфигурации:
сервер/клиент - Oracle 11.2.0.1.0 32bit
ОС - Windows 7 Ultimate 32bit
ODAC - v6.90.0.53
RAD Studio 2010, в частности билдер.

заливка идёт через TBlobField::LoadFromFile
извинияюсь за следующий говно-код, писано не мной, только фикшу теперь. перелопачивать всё желания мало, хотя подозреваю что придётся.

Код:                 TBlobField *blField = (TBlobField*)(fields->FieldByName(BlobFieldName));

                OraQueryBlobField->Edit();
                blField->Clear();
                blField->LoadFromFile(sTempFileName);
                OraQueryBlobField->Post();
Автор: AndreyAgrh
Дата сообщения: 26.01.2012 13:10
Есть тема "Вопросы по компонентам для Delphi, C++ Builder разных версий".
"Вопросы по компонентам для Delphi, C++ Builder разных версий".
Лучше там спросить..
Автор: MrZeRo
Дата сообщения: 07.02.2012 00:07
badguy
Могут быть проблемы с Оракл клиентом, может, имеет смысл установить последние доступные патчи на него, если есть. Также если известно, какая именно версия десятого клиента использовалась в "рабочем" варианте, почему бы не поставить его и не проверить, будет ли работать? Клиент десятой версии Оракла должен работать с сервером одиннадцатой.
Может быть и другой вариант: проблема вообще где-то в другом месте, а загрузка больших файлов просто помогает этим дефектам проявляться. Так что если можно, хорошо бы сузить область исследования, ограничиться наиболее простым тестировочным кодом.
Автор: wasilissk
Дата сообщения: 07.02.2012 04:35
MrZeRo
Дело говорит, в плане:

Цитата:
проблема вообще где-то в другом месте, а загрузка больших файлов просто помогает этим дефектам проявляться. Так что если можно, хорошо бы сузить область исследования, ограничиться наиболее простым тестировочным кодом.

В приведенном коде криминала не вижу (при условии, что этот код грамотно вызывается конечно). Если бы был DOA еще можно было бы чего допроверить, с ODAC идей пока нет.


Добавлено:
Э-э-э, прочитал еще раз, что там насчет комита/автокомита?

Страницы: 1

Предыдущая тема: TableAdapter Как вернуться на верхнюю строку?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.