Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Жрет память TOraSQL в ODACе [D5, Oracle, ]


BAS ©   (2001-12-06 13:07:00) 

Привет всем!!!!
Вопрос тем, кто юзает ODAC..
У меня такая проблема....
Когда, например, у TOraSQL поставить сво-во NonBlocking := True, у моей програмулены начинют расти дискрипторы, а всего на всего я вызываю в этом компаненте функцию с сервера, и следователно растет память проги. При NonBlocking := False - все нормально.
Вопрос на редкость прост - Почему и как это исправить?
Вопрос для меня важен. И не хотелось бы выделять отдельный поток для исполнения, если можно это сделать проще.

И так общая просьба - Если у кого есть(и не жалко) ODAC для DELPHI6 - пришлите по bas@florin.ru .


EAGLE   (2001-12-11 13:09:00) [1]

и мне скиньте ODAC (не триальный) для D5, если не жалко
PLEASE
Sergey_S@hotmail.ru


BAS   (2001-12-07 15:01:00) [2]

>Yuvich
С ораклом все нормально клиент именно 8.1.7.
Присылаю програмулину по почте жди.


Yuvich   (2001-12-06 14:42:00) [3]

>BAS
Твоя ошибка может крыться в самом Oracle - вот кусок из исходников:


procedure InitOCI;
. . .

if not LoadedOCI then
LoadOCI;

. . .

if OCI80 in PossibleOCICallStyles then begin
!Вот оно!
// WAR problem with OCI_THREADED on HandelFree(hStmt... with Oracle 8.0.4
// and create direct path handle
InitMode := OCI_DEFAULT or OCI_OBJECT;
if OCIThreaded and (OCIVersionSt > "8.0.4.0.0") then // supports from OCI 8.0.5
InitMode := InitMode or OCI_THREADED;
if OCIShared and (OCIVersionSt >= "8.1.4.0.0") then // supports from OCI 8.1.5

. . .


А во FLORIN"е версия именно 8.0.4.

>Владислав
Именно.


Владислав   (2001-12-06 14:19:00) [4]

А компонент сам поток создает?


Yuvich   (2001-12-06 14:16:00) [5]

>Владислав
Привожу выдержку из документации:

"property NonBlocking: Boolean;

Description

Set NonBlocking to True to execute SQL statement and fetch rows by a separate thread."

"Поток исполнения" и "thread" - это одно и тоже?


Владислав   (2001-12-06 14:04:00) [6]

> Yuvich (06.12.01 13:46)

Если не хочется выделять отдельный поток - ставь NonBlocking в False. NonBlocking как раз и определяет - где выполнять SQL-скрипт.

А как связаны NonBlocking и потоки? Это вообще разные вещи.

> BAS (06.12.01 13:07)

Может все-таки в коде проблемы?
Может приведешь?


Yuvich   (2001-12-06 13:46:00) [7]

Тогда неизвестно об чем речь. Если не хочется выделять отдельный поток - ставь NonBlocking в False. NonBlocking как раз и определяет - где выполнять SQL-скрипт.

ODAC для DELPHI6. FLORIN покупал ODAC 3.0, в котором есть поддержка DELPHI6 - стOит доплатить 19$ и получить версию 3.3.


Наверх

Титульная страница Поиск, карта сайта Написать письмо