![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TADOconnection. Как выключить автоcommit ?
SergP. © (2006-08-30 12:45:00)Делаю
Adocommand.CommandText:='delete from zregdoc';
Adocommand.Execute;
после чего таблица очищается (смотрел из другой сессии), хотя commit я не делал...
Как сделать чтобы commit автоматически не срабатывал? Что-то у TAdoconnection таких свойств не нашел.
ANB (2006-08-31 10:40:00) [1]
> SergP. (30.08.06 20:04) [53]
Я так глубоко не разбирался, что именно там поддерживает, листенер или что еще и сколько всего протоколов, но протоколы для работы через Net и через клиента - разные.
SergP. (2006-08-30 20:04:00) [2]Вобщем, как я понял, TNS Listener поддерживает 2 протокола. правильно?
ANB (2006-08-30 17:51:00) [3]
> SergP. (30.08.06 17:46) [51]
Ты неправильно определяешь понятие "прямой доступ". Например, ADO не нуждается в установке MS SQL клиента, при этом является не компонентом прямого доступа, а оболочкой над целой кучей программ, обеспечивающих единообразный доступ к разным СУБД. Однако некоторые фокусы можно проделать только при прямом обращении к DBLIB, которая требует установки клиента. По другому компоненты типа одака я еще называю нативными.
SergP. (2006-08-30 17:46:00) [4]> Протокол же обмена OCI - сервер - внутренняя кухня самого
> оракла, посему более менее отшлифован (и в результате частично
> версионно зависим).
Хм... А я считал что как раз это и должно использоваться компонентами прямого доступа...
ANB (2006-08-30 17:44:00) [5]
> SergP. (30.08.06 17:38) [49]
Абсолютно неправильно. Net протокол (у него есть правильное название, но я его не помню) создан для работы без клиента и в частности используется JDBC. Он стандартизирован со всеми глюками и посему не меняется, чтобы не сломать работающие приложения. Протокол же обмена OCI - сервер - внутренняя кухня самого оракла, посему более менее отшлифован (и в результате частично версионно зависим).
Кстати, именно поэтому при работе явы с ораклом иногда бывают проблемы.
SergP. (2006-08-30 17:38:00) [6]Насчет протокола я понимаю так что это протокол на котором нечто общается с
TNS Listener, так что в любом случае если он глючный - то и все остальные средства работы с Ораклом будут глючными, а если нет, то никто не мешает существованию неглючных компонентов прямого доступа, ибо если глючность - это не проблема сервера, а клиента, то тогда глючность не может быть связана с глючностью протокола...
ИМХО... Может я неправильно понимаю все это, тогда объясните мне....
ANB (2006-08-30 17:38:00) [7]
> Разве какието компоненты прямого доступа и клиент оракла
> используют не один и тот же протокол?
Ни разу.
SergP. (2006-08-30 17:33:00) [8]> [46] ANB © (30.08.06 16:43)
>
> > компоненты для действительно прямого доступа
>
> одак умеет коннектится без клиента. но я уже писал, что
> грабли в результате тебе обеспечены и лучше так не делать.
> Список граблей запроси на sql.ru. Причем грабли не зависят
> от компонентов, это просто протокол прямого доступа такой
> кривой.
Че-то я не понял насчет "протокола прямого доступа"? Можно его определение?
Разве какието компоненты прямого доступа и клиент оракла используют не один и тот же протокол?
ANB (2006-08-30 16:43:00) [9]
> компоненты для действительно прямого доступа
одак умеет коннектится без клиента. но я уже писал, что грабли в результате тебе обеспечены и лучше так не делать. Список граблей запроси на sql.ru. Причем грабли не зависят от компонентов, это просто протокол прямого доступа такой кривой.
SergP. (2006-08-30 16:39:00) [10]Хм... Ладно народ, может все-таки кто знает где найти компоненты для действительно прямого доступа, чтобы юзеру не пришлось думать чего еще нужно на комп установить?
Fay (2006-08-30 16:33:00) [11]2 ANB © (30.08.06 16:25) [43]
Не думай о розовой мухе!
ANB (2006-08-30 16:25:00) [12]
> если возвращается рекордсет то ADO его примет, без вариантов
Интересно, как ADO поймет, что Sys_Refcursor - это набор данных ?
Fay (2006-08-30 16:23:00) [13]2 sniknik © (30.08.06 16:06) [41]
> ну не цикл же
Нет
sniknik (2006-08-30 16:06:00) [14]> А способ передачи массива параметров в sp не подскажешь (Oracle + ADO)?
нет, не подскажу. во перевых оракла не знаю... во вторых не совсем точно представляю что имеется в виду под "массивом параметров"
(ну не цикл же for i:= 0 to Parameters.Count-1 to Parameters[i]Value:= ParArray[i];... имеется в виду)
Fay (2006-08-30 15:34:00) [15]2 sniknik © (30.08.06 15:30) [39]
А способ передачи массива параметров в sp не подскажешь (Oracle + ADO)?
sniknik (2006-08-30 15:30:00) [16]> Это возращаемый из хранимки курсор набора данных. Примерчик :
> ...
> ОДАК такие функции нормально распознает и позволяет сделать open, получив набор данных. Очень удобно.
не понял, чем это отличается от простой функции, и почему вызов ее исключительно прерогатива ОДАК-а????
хочеш сказать при подключении к ораклу через ADO это не сработает?... чуш по моему, компоненты не отвечают за серверную часть... если возвращается рекордсет то ADO его примет, без вариантов, без особого разбора простои он или особы какойто (реф ?????).
ANB (2006-08-30 15:27:00) [17]
> sniknik © (30.08.06 15:21) [36]
с MS SQL работать больше не через что. Через DBLIB довольно сложно и требуется клиент MS SQL.
Но использовать ADO для работы с ораклом - это заранее рубить себе кучу фичей и удобств. А поскольку в основном я с ораклом работаю, то изучать фичи и тонкости ADO мне как то и не надо особо . . .
ANB (2006-08-30 15:24:00) [18]
> Fay © (30.08.06 15:19) [35]
В принципе хватит и минут 15. Проблема в том, что после первой же ошибки (или не после первой) ADO почему то считает, что процедура упала. И часть сообщений пропадает (это уж точно).
Ребята из нижегородского РНИВЦ (а их учили сами мелкософтовцы), долго парились с этой проблемой и решили ее только работой через DBLIB. Попробовали тоже повторить в VS.NET - нормально работало.
Да, хранимку то желательно гонять асинхронно.
Кстати, снять запрос в оракле через ADO не получится, а в одаке - без проблем.
sniknik (2006-08-30 15:21:00) [19]p.s. если считать незнание возможностей и отсутствие желания изучения у используюших недостатком/глюком используемого... (клево сказал, да? ;о)))
то да, ADO насквозь глючен, прогнил просто...
Fay (2006-08-30 15:19:00) [20]2 ANB © (30.08.06 15:13) [31]
> Запусти ее с помощью ADO и попробуй выгрести все сообщения от этой хранимки.
Конечно, я не буду париться 4 часа... В каком именно мечте засада (Напиши, работать часа 4, время от времени вываливать, запусти, выгрести все сообщения)?