Форум: "Базы";
Текущий архив: 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