Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];

Вниз

TADOconnection. Как выключить автоcommit ?   Найти похожие ветки 

 
SergP.   (2006-08-30 12:45) [0]

Делаю
Adocommand.CommandText:="delete from zregdoc";
Adocommand.Execute;

после чего таблица очищается (смотрел из другой сессии), хотя commit я не делал...
Как сделать чтобы commit автоматически не срабатывал? Что-то у TAdoconnection таких свойств не нашел.


 
stone ©   (2006-08-30 12:48) [1]


> Как сделать чтобы commit автоматически не срабатывал? Что-
> то у TAdoconnection таких свойств не нашел.

BeginTran ?


 
SergP.   (2006-08-30 12:50) [2]

> [1] stone ©   (30.08.06 12:48)
>
> > Как сделать чтобы commit автоматически не срабатывал?
> Что-
> > то у TAdoconnection таких свойств не нашел.
>
> BeginTran ?


ЕПРСТ... Понял. Спасибо...


 
ANB ©   (2006-08-30 12:56) [3]


> SergP.   (30.08.06 12:45)

Какой изгал. Возьми компоненты прямого доступа и не мучайся.


 
Fay ©   (2006-08-30 13:06) [4]

2 ANB ©   (30.08.06 12:56) [3]
Это какие же?


 
sniknik ©   (2006-08-30 13:16) [5]

> Какой изгал. Возьми компоненты прямого доступа и не мучайся.
да ну? а рядом вот ветка(про юникод) с другим "девизом" - "возми компоненты прямого доступа и как следует по... мучайся (другая интерпретация слова напрашивается... ;о))".

компаненты от знания основ не освобождают...

кстати по теме, никогда не пользовался  BeginTran/ets. компонента, и другим не советую... лучше пользоваться командами сервера BEGIN TRANSACTION/ets.
хотя бы для уверености что сервер их позволяет, что она будет начата на сервере а не эмулирована на клиенте и т.д. (лучше себя чуствуеш когда знаеш что делаеш)


 
SergP.   (2006-08-30 13:20) [6]

> [3] ANB ©   (30.08.06 12:56)
>
> > SergP.   (30.08.06 12:45)
>
> Какой изгал. Возьми компоненты прямого доступа и не мучайся.


Если имеешь ссылку где скачать бесплатные компоненты прямого доступа к Oracle 9i то выложи ссылку.

Я когда-то находил нечто подобное, но к сожалению они были платные. К тому же глючные...


 
Fay ©   (2006-08-30 13:22) [7]

2 SergP.   (30.08.06 13:20) [6]
http://www.da-soft.com


 
SergP.   (2006-08-30 13:37) [8]

Скачал. Поставил... Нифига что-то не вижу чтобы это были компоненты прямого доступа...


 
Fay ©   (2006-08-30 13:38) [9]

2 SergP.   (30.08.06 13:37) [8]
Что скачал?


 
SergP.   (2006-08-30 13:39) [10]

Может у нас разные понятия о прямом доступе?
Под компонентами прямого доступа я понимаю такие, где бы не требовалась установка клиента Оракла, т.е. которые работали бы напрямую с сервером...


 
SergP.   (2006-08-30 13:40) [11]

> [9] Fay ©   (30.08.06 13:38)
> 2 SergP.   (30.08.06 13:37) [8]
> Что скачал?


NCOCI8 v 1.0.4
а что нужно качать?


 
Fay ©   (2006-08-30 13:41) [12]

2 SergP.   (30.08.06 13:39) [10]
> Может у нас разные понятия о прямом доступе
Не знаю. Они разные даже у разработчиков ODAC и SDAC


 
Fay ©   (2006-08-30 13:43) [13]

2 SergP.   (30.08.06 13:40) [11]
> а что нужно качать?
Ничего не качай - тебе подходит только ODAC. Или JDBC 8)


 
ANB ©   (2006-08-30 13:46) [14]


> Если имеешь ссылку где скачать бесплатные компоненты прямого
> доступа к Oracle 9i то выложи ссылку.

Глючные не видел. DOA и ODAC беру обычно на работе. Крякнутые или с лицензией. Особо продвинутые работают напрямую через OCI.
ODAC псоледней версии с исходниками стоит 9000 рублей. Или у друзей завсегда можно взять.
Работать с ораклом через ADO - потерять приличное количество возможностей.
Кстати, оракл BEGIN TRANSACTION не поддерживает.


 
SergP.   (2006-08-30 13:48) [15]

> [13] Fay ©   (30.08.06 13:43)
> 2 SergP.   (30.08.06 13:40) [11]
> > а что нужно качать?
> Ничего не качай - тебе подходит только ODAC. Или JDBC 8)


Просто я качал из-за того что когда-то (года 3 назад) находил компоненты именно прмямого доступа. Не помню где... Правда там имелись небольшие глюки... Но зато никаких клиентов не нужно ставить. Указал логин/пароль/базу/имя или IP сервера/порт и все.
Думал что это нечто подобное... Просто прога получилась бы удобнее...


 
ANB ©   (2006-08-30 13:49) [16]


> Под компонентами прямого доступа я понимаю такие, где бы
> не требовалась установка клиента Оракла, т.е. которые работали
> бы напрямую с сервером...

И ADO это умеет ?????

Кстати, умные люди весьма не советуют работать в обход клиента.

А компонентами прямого доступа я обычно называю компоненты, которые работают напрямую с OCI, без виндовых прослоек.


 
SergP.   (2006-08-30 13:49) [17]

> Работать с ораклом через ADO - потерять приличное количество
> возможностей.


Можно поинтересоваться, каких?


 
ANB ©   (2006-08-30 13:49) [18]


> Просто прога получилась бы удобнее...

И глючнее.


 
Fay ©   (2006-08-30 13:51) [19]

2 SergP.   (30.08.06 13:48) [15]
Судя по использованию ADO, "супер-прямой" достум тебя мало волнует... Возьми AnyDAC, не мучай себя.


 
SergP.   (2006-08-30 13:51) [20]

> И ADO это умеет ?????


Ну естественно нет...
Просто начал писать используя ADO, но если бы нашлись бесплатные компоненты для прямого доступа, то переделал бы...


 
Fay ©   (2006-08-30 13:52) [21]

2 SergP.   (30.08.06 13:51) [20]
А просто нормальные компоненты не устраивают?


 
ANB ©   (2006-08-30 13:52) [22]


> SergP.   (30.08.06 13:49) [17]

Попробуй через ADO зарефрешеть одну запись в наборе данных. Или отредактировать набор данных, собранный джойном из 5 таблиц. Кстати, ораклу не нужна команда на начало транзакции, она начинается при любом операторе DML. И коммит ты можешь выдать, когда захочешь.
Ну а уж такую фичу, как автоматическое обновление записи при ее изменении из другой сессии (смарт рефреш) умеет только одак делать.


 
ANB ©   (2006-08-30 13:53) [23]

Кстати, как там у ADO с реф.курсорами ?


 
SergP.   (2006-08-30 13:53) [24]

> 2 SergP.   (30.08.06 13:48) [15]
> Судя по использованию ADO, "супер-прямой" достум тебя мало
> волнует... Возьми AnyDAC, не мучай себя.


Просто я сначала не задумывался над такой возможностью.
но пост:


> [3] ANB ©   (30.08.06 12:56)
>
> > SergP.   (30.08.06 12:45)
>
> Какой изгал. Возьми компоненты прямого доступа и не мучайся.


очень заинтересовал меня...


 
SergP.   (2006-08-30 13:56) [25]

> Попробуй через ADO зарефрешеть одну запись в наборе данных.
> Или отредактировать набор данных, собранный джойном из 5
> таблиц. Кстати, ораклу не нужна команда на начало транзакции,
> она начинается при любом операторе DML. И коммит ты можешь
> выдать, когда захочешь.
> Ну а уж такую фичу, как автоматическое обновление записи
> при ее изменении из другой сессии (смарт рефреш) умеет только
> одак делать.


Вроде из перечисленного мне ничего и не требуется...


 
SergP.   (2006-08-30 14:02) [26]

> [21] Fay ©   (30.08.06 13:52)
> 2 SergP.   (30.08.06 13:51) [20]
> А просто нормальные компоненты не устраивают?


Просто сторонние компоненты (которые не входят в стандартную поставку Дельфи) я стараюсь не использовать... Использую только в крайнем случае. В данном случае использовал бы если бы там был прямой доступ. А иначе - зачем? В таком случае и ADO подойдет... По крайней мере его возможности мне хватит. ну разве что о прямом доступе придется забыть...


 
sniknik ©   (2006-08-30 14:17) [27]

> Кстати, оракл BEGIN TRANSACTION не поддерживает.
неважно, не в этом виде, но каманды быть должны, посмотреть доки на предмет какие точно стартуют там транзакцию... а заодно почитать про ее "фенечки" только ораклу присущие. (будет полезнее чем просто ставить  BeginTran)

> Кстати, как там у ADO с реф.курсорами ?
реф????? это что?


 
ANB ©   (2006-08-30 14:48) [28]


> реф????? это что?

Sys_Refcursor


 
ANB ©   (2006-08-30 14:49) [29]

Кстати, ADO даже с родным MS SQL работает хреново. Только ADO.NET более менее адекватно.


 
Fay ©   (2006-08-30 15:10) [30]

2 ANB ©   (30.08.06 14:49) [29]
Если можно, примерчик корявости, pls.
Для меня и ещё двух весёлых друзей...


 
ANB ©   (2006-08-30 15:13) [31]


> Fay ©   (30.08.06 15:10) [30]

напиши хранимку, которая будет работать часа 4 и при этом время от времени вываливать ошибки (типа не могу вставить нулл в нот налловое поле), принты и селекты.
Запусти ее с помощью ADO и попробуй выгрести все сообщения от этой хранимки.
Удачи.


 
sniknik ©   (2006-08-30 15:13) [32]

> Sys_Refcursor
ничего не говорит... либо нет, либо по другому называется (ассоциаций нет).

> Кстати, ADO даже с родным MS SQL работает хреново.
ну надо же! а я и не знал... это ты сам придумал, или сказал кто? (при полном его незнании... lol)


 
sniknik ©   (2006-08-30 15:17) [33]

> Запусти ее с помощью ADO и попробуй выгрести все сообщения от этой хранимки.
см. в connections коллекция errors для каждого связанного рекордсета... подавляется только пустые при команде SET NOCOUNT ON (но тут претензий быть не может, не придирешся же на отсутствие ошибок если сам вставил пустой(без обработки) блок try except...)


 
ANB ©   (2006-08-30 15:19) [34]


> > Sys_Refcursor
> ничего не говорит... либо нет, либо по другому называется
> (ассоциаций нет).

Это возращаемый из хранимки курсор набора данных. Примерчик :


 function Select_Pop3
   return Sys_Refcursor is
   v_Header   varchar2 (255 char) := "mail.pop3";
   v_Result   Sys_Refcursor;
 begin
   open v_Result for
     select   Num, max (case
                          when last = "server" then Param_Value
                          else null
                        end) Server, max (case
                                            when last = "account" then Param_Value
                                            else null
                                          end) Account, max (case
                                                               when last = "password" then Param_Value
                                                               else null
                                                             end) Password
         from (select substr (substr (Param_Name, 1, instr (Param_Name, "}") - 1), instr (Param_Name, "{") + 1) Num,
                      substr (Param_Name, instr (Param_Name, "}") + 2) last, Param_Value
                 from Common$Configuration
                where Param_Name like v_Header || ".%")
     group by Num
     order by Num;

   return v_Result;
 end Select_Pop3;


Сам запрос можно сгенерить и в виде строки прямо на оракле.

ОДАК такие функции нормально распознает и позволяет сделать open, получив набор данных. Очень удобно.


 
Fay ©   (2006-08-30 15:19) [35]

2 ANB ©   (30.08.06 15:13) [31]
> Запусти ее с помощью ADO и попробуй выгрести все сообщения от этой хранимки.
Конечно, я не буду париться 4 часа... В каком именно мечте засада (Напиши, работать часа 4, время от времени вываливать, запусти, выгрести все сообщения)?


 
sniknik ©   (2006-08-30 15:21) [36]

p.s. если считать незнание возможностей и отсутствие желания изучения у используюших недостатком/глюком используемого... (клево сказал, да? ;о)))
то да, ADO насквозь глючен, прогнил просто...


 
ANB ©   (2006-08-30 15:24) [37]


> Fay ©   (30.08.06 15:19) [35]

В принципе хватит и минут 15. Проблема в том, что после первой же ошибки (или не после первой) ADO почему то считает, что процедура упала. И часть сообщений пропадает (это уж точно).
Ребята из нижегородского РНИВЦ (а их учили сами мелкософтовцы), долго парились с этой проблемой и решили ее только работой через DBLIB. Попробовали тоже повторить в VS.NET - нормально работало.

Да, хранимку то желательно гонять асинхронно.

Кстати, снять запрос в оракле через ADO не получится, а в одаке - без проблем.


 
ANB ©   (2006-08-30 15:27) [38]


> sniknik ©   (30.08.06 15:21) [36]

с MS SQL работать больше не через что. Через DBLIB довольно сложно и требуется клиент MS SQL.
Но использовать ADO для работы с ораклом - это заранее рубить себе кучу фичей и удобств. А поскольку в основном я с ораклом работаю, то изучать фичи и тонкости ADO мне как то и не надо особо . . .


 
sniknik ©   (2006-08-30 15:30) [39]

> Это возращаемый из хранимки курсор набора данных. Примерчик :
> ...
> ОДАК такие функции нормально распознает и позволяет сделать open, получив набор данных. Очень удобно.

не понял, чем это отличается от простой функции, и почему вызов ее исключительно прерогатива ОДАК-а????

хочеш сказать при подключении к ораклу через ADO это не сработает?... чуш по моему, компоненты не отвечают за серверную часть... если возвращается рекордсет то ADO его примет, без вариантов, без особого разбора простои он или особы какойто (реф?????).


 
Fay ©   (2006-08-30 15:34) [40]

2 sniknik ©   (30.08.06 15:30) [39]
А способ передачи массива параметров в sp не подскажешь (Oracle + ADO)?



Страницы: 1 2 вся ветка

Форум: "Базы";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.037 c
2-1160926032
Аноним
2006-10-15 19:27
2006.10.29
Извините за тупой вопрос, но...


15-1160137481
oldman
2006-10-06 16:24
2006.10.29
Завтра Россия-Израиль. Ваши ставки?


3-1157437387
Sansy
2006-09-05 10:23
2006.10.29
таблица не существует?


2-1160823835
MAX.
2006-10-14 15:03
2006.10.29
подскажите


1-1158261697
oxffff
2006-09-14 23:21
2006.10.29
ВDS 2006 тоже не поддерживает custom variant byRef





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский