Additional
dbCAP
AnyDAC
ThinDAC
NCOCI8
Topic: TOCIQuery.Prepared=true to all
TOCIQuery.Prepared=true to all
Posted: 2000/06/27 10:05
 
День добрый!
У меня перед каждым запросом к серверу происходит подготовка запроса, хотя prepared в run-time устанавливается в false (а в design-time сама ставиться в true при активном наборе). После выполнения запроса так же автоматически происходит освобождение ресурсов. Это так и должно быть?
У меня NCOCI8 08.0b,Oracle 8.15, клиент 8.15.
P.S. Пардон за оффтопик, но как правильно избавиться от OCI_SUCCESS_WITH_INFO. (я не нашёл TOCIDatabase.Warning).
Спасибо.
RE: TOCIQuery.Prepared=true to all
Posted: 2000/06/27 13:09
 
Hi !

NCOCI8 "поготавливает" (Prepare) запрос перед исполнением (ExecSQL) автоматически. После исполнения, "отмены подготовки" (UnPrepare) не происходит. Т.е. для освобождения ресурсов необходимо вызвать UnPrepare явно (я опускаю случаи типа - уничтожение экземпляра компонента и некоторые другие, когда NCOCI8 автоматически освобождает ресурсы). Аналогичная картина и с вызовами Open/Close.

Про OCI_SUCCESS_WITH_INFO ... Версия 0.8.0 не должна вызывать исключительную ситуацию в случае OCI8 статуса OCI_SUCCESS_WITH_INFO. Так что если все таки происходит raise, то просьба дать мне знать об этом.

TOCIDatabase имеет публик свойство Warning типа EOCINativeError. Если оно не NIL, то при последнем исполнении запроса OCI8 вернуло код возврата OCI_SUCCESS_WITH_INFO, что значит - предупреждение... Но не должно быть ни каких исключительных ситуаций.