Текущий архив: 2007.01.07;
Скачать: CL | DM;
Вниз
Кто работает с Oracle? Найти похожие ветки
← →
fisherman © (2006-10-20 10:21) [0]Добрый день!
Подскажите, какими компонентами лучше подсоединяться к таблицам базы на Oracle?
← →
Johnmen © (2006-10-20 10:29) [1]А каков ваш критерий понятия "лучше"?
← →
Reindeer Moss Eater © (2006-10-20 10:35) [2]Подскажите, какими компонентами лучше подсоединяться к таблицам базы на Oracle?
Лучше всего TButton с Caption := "Подсоединиться"
← →
fisherman © (2006-10-20 10:46) [3]Существует готовая база с таблицами, со связями и т.д.
Необходимо написать клиентскую часть, пробовал ADO компоненты, но при добавлении новой записи даже только в одну родительскую таблицу выдает сообщение что не найден родительский ключ.
← →
Sergey13 © (2006-10-20 11:08) [4]> [3] fisherman © (20.10.06 10:46)
Такие проблемы "лучшими компонентами" не решаются. Тут азбуку читать надо.
← →
fisherman © (2006-10-20 11:13) [5]
> Такие проблемы "лучшими компонентами" не решаются. Тут азбуку
> читать надо.
Так я хотел узнать кто какими компонентами пользуется для доступа к Oracle. Извиняюсь если не правильно сформулировал вопрос.
← →
roottim © (2006-10-20 11:13) [6]
> найден родительский ключ.
Не трогай, пожайлуста, то что родители заперли!
← →
Sergey13 © (2006-10-20 11:38) [7]> [5] fisherman © (20.10.06 11:13)
Лучше всего, по отзывам и личному опыту, DOA и ODAC, но они платные.
← →
Desdechado © (2006-10-20 11:45) [8]Я использую dbExpress с покупными драйверами.
Всех оракловой функциональности они не поддерживают, но пока мне вся и не нужна.
Единственный затык - с объектными полями, но пока некритичный для меня.
← →
fisherman © (2006-10-20 12:01) [9]
> но они платные
> с покупными драйверами.
:) Начальству про это лучше не заикаться, им результат нужен в короткие сроки, так что даже азбуку читать времени нет...
← →
Reindeer Moss Eater © (2006-10-20 12:05) [10]так что даже азбуку читать времени нет...
Ну тогда все просто.
← →
ANB © (2006-10-20 12:36) [11]
> :) Начальству про это лучше не заикаться, им результат нужен
> в короткие сроки, так что даже азбуку читать времени нет.
> ..
Тогда проще уволится, почитать азбуку и устраиваться в другое место.
← →
Johnmen © (2006-10-20 12:40) [12]Тогда проще уволится, читать азбуку не надо и устраиваться в другое место тоже не стОит.
← →
Курдль © (2006-10-20 17:23) [13]
> Desdechado © (20.10.06 11:45) [8]
> Я использую dbExpress с покупными драйверами.
Ух ты! Они и до DB добрались? Я раньше думал, что они только DB-Aware компоненты делают... И как называются эти компоненты? Что умеют?
Я пока ничего лучше, чем DOA не видел для оракла (правда не копал глубоко ODAC).
← →
ANB © (2006-10-20 18:22) [14]
> (правда не копал глубоко ODAC).
ODAC поудобнее будет. В последних версиях он уже не такой глюкавый.
← →
Petr V.Abramov (2006-10-20 19:35) [15]> Начальству про это лучше не заикаться,
если проблема в покупке компонетов за $300, с таким начальством лучше не работать
← →
Sergey Masloff (2006-10-20 20:40) [16]Курдль © (20.10.06 17:23) [13]
ODAC лучше. Личное впечетление. Я с тем и другим довольно много работал.
ANB © (20.10.06 18:22) [14]
>ODAC поудобнее будет. В последних версиях он уже не такой глюкавый.
В последних это лет 5 уже ;-)))
← →
Desdechado © (2006-10-20 20:51) [17]Курдль © (20.10.06 17:23) [13]
> Они и до DB добрались? Я раньше думал, что они только DB-Aware
> компоненты делают... И как называются эти компоненты? Что умеют?
Хм, ты видно стандартные с D6 компоненты dbExpress попутал с devExpress.
Я использую первые :)
А драйвера для него под Оракл от борланда слишком косые, поэтому покупали от crlab и дорабатывали под себя.
← →
Petr V.Abramov (2006-10-20 21:18) [18]> Sergey Masloff (20.10.06 20:40) [16]
> ODAC лучше. Личное впечетление.
У DOA к родным OCI хендлам доступ есть, что хорошо, когда ... блин
Хотя ODAC не пробовал :)))
← →
rar © (2006-10-21 15:36) [19]Работаю со стандартными компонентами ADO, не возникае ни каких проблем, почти:-)).
Может просвятит кто чем лучьше или что дают компоненты DAO или ODAC
← →
Sergey Masloff (2006-10-21 15:46) [20]rar © (21.10.06 15:36) [19]
Скажем так, наиболее полную поддержку фич оракловых. А там много чего.
← →
Petr V.Abramov (2006-10-22 00:32) [21]> Sergey Masloff (21.10.06 15:46) [20]
> Скажем так, наиболее полную поддержку фич оракловых. А там много чего.
приведи пример, что в DOA не поддерживается?
← →
Sergey Masloff (2006-10-22 11:34) [22]Petr V.Abramov (22.10.06 00:32) [21]
1) работа без установки ораклового клиента ;-))
← →
Sergey Masloff (2006-10-22 11:41) [23]Ну и по мелочи:
- со скроллируемыми курсорами девятого оракла DOA вроде не работает. Или стали работать позже ODAC
- алерты поддерживаются (в DOA вроде были глючки на этот счет)
- ArrayBinding в DOA есть?
Ну и уже есть мелкие штучки которые в DOA руками делать - смарт рефреш, нонблокинг режим запросов для долгих выборок. Да понятно что делается несложно но делать нужно.
← →
Petr V.Abramov (2006-10-22 13:04) [24]> - со скроллируемыми курсорами девятого оракла DOA вроде не работает. Или стали работать позже ODAC
растолкуй
> - алерты поддерживаются (в DOA вроде были глючки на этот счет)
это вроде старая какая-то вещь, сейчас AQ и Oracle Streams. AQ-шные callback`и сами правда делали
> - ArrayBinding в DOA есть?
вот это надо посмотреть, раньше не было
← →
выфйулрлдрдтдтдтдрж (2006-10-22 13:16) [25]Petr V.Abramov (22.10.06 13:04) [24]
>> - со скроллируемыми курсорами девятого оракла DOA вроде не работает. >растолкуй
Специфическая фича.
Можно работать со скроллируемым курсором. Есть курсор в котором много данных. Если сделать его скроллируемым то можно на клиенте гонять по нему "окно" вперед и назад. При обычном курсоре ты идя вперед собираешь все данные в кеш (или не собираешь) в любом случае назад по курсору не вернешься.
По скроллируемому можно гулять вперед-назад не копя данных в буфере.
← →
Sergey Masloff (2006-10-22 13:17) [26][25] это я. Просто у меня на руках очень активный двухлетний референт сидит ;-)
← →
Petr V.Abramov (2006-10-22 14:23) [27]> выфйулрлдрдтдтдтдрж (22.10.06 13:16) [25] :)))
да блин, не приметил фичу... (:
но что-то первое впечатление - критическое. во первых:
Note: Do not use scrollable cursors unless you require the
functionality, because they use more server resources and can have
greater response times than non-scrollable cursors.
(c) первоисточник
во-вторых как-то не вяжется с идеологией датасета. ведь получается двойной кэш: в буферах OCI + в буферах датасета одно и тоже фактически хранится. А что недофетчилось - в буферах PGA на сервере. Вот если бы исключить буфера датасета, смысл имелся бы, а так фактически двойной расход памяти
Стоит ли овчинка выделки-то? может, проще с огромными курсорами не баловаться?
← →
Sergey Masloff (2006-10-22 15:11) [28]Petr V.Abramov (22.10.06 14:23) [27]
Я ж не говорю что это жизненно необходимо. Просто оно есть а в DOA нет
← →
Sergey Masloff (2006-10-22 17:02) [29]Petr V.Abramov (22.10.06 14:23) [27]
Кстати не дочитал. Как раз - НЕТ двойного расхода. На клиенте -только окошко, размер буфера фиксирован. Это и сделано чтобы максимально экономити клиентскую память когда это нужно. Хотя серверные ресурсы конечно расходуются.
← →
Petr V.Abramov (2006-10-22 21:00) [30]> Sergey Masloff (22.10.06 17:02) [29]
таки есть. через fetch dataset получает запись, и по-любому кэширует ее у себя, так он устроен.
при старорежимном курсоре он ее берет с сервера и кидает в свой кеш, а OCI кешировать ниче не надо. А так и OCI кештрует, и сервер, и dataset еще кусок этого кеша дублирует.
Response time is improved if you use OCI client-side prefetch buffers. After calling
OCIStmtExecute() for a scrollable cursor, call OCIStmtFetch2() using
OCI_FETCH_LAST to obtain the size of the result set. Then set
OCI_ATTR_PREFETCH_ROWS to about 20% of that size, and set
OCI_PREFETCH_MEMORY if the result set uses a large amount of memory.
пожиренное - логично. но датасет-то тоже кеширует.
← →
Sergey Masloff (2006-10-22 21:16) [31]Petr V.Abramov (22.10.06 21:00) [30]
Не датасет не кеширует. У него особый режим устанавливается при работе с таким курсором. Но это все сугубо на основе чтения доки - это я реально никогда не использовал - все же трудно представить когда оно сильно надо.
А вот ArrayBinding это вещь хорошая так что наверное в DAO все же сделали. Но позже чем в ODAC.
Кстати у ODAC неплохо продумана мигрвция с BDE так что если есть большой проект с BDE альтернативы ODAC сложно найти.
← →
Petr V.Abramov (2006-10-22 21:29) [32]> А вот ArrayBinding это вещь хорошая так что наверное в DAO все же сделали. Но позже чем в ODAC.
это факт и аргумент. правда, первым хорошо быть в лыжном забеге, а в нашем деле главное - неглючность :) пока не посмотрел в DOA эту вещь, некогда, но гляну, самому интересно.
> У него особый режим устанавливается при работе с таким курсором.
ну если режим "из fetch прям в грид" (что затруднительно, хоть и реализуемо) - тогда м.б.
> все же трудно представить когда оно сильно надо.
очень легко. представь себе разработчика, кторый знает про select, но не подозревает о where :)
← →
evvcom © (2006-10-23 09:15) [33]> [21] Petr V.Abramov (22.10.06 00:32)
> приведи пример, что в DOA не поддерживается?
Про неподдержку, насколько я понял, разговор был об ADO, а не DOA:
> [19] rar © (21.10.06 15:36)
> Работаю со стандартными компонентами ADO
Ну да ладно...
> [24] Petr V.Abramov (22.10.06 13:04)
> AQ-шные callback`и сами правда делали
А вот AQ как раз в ODAC-е нет. Работаю с одаком, хотел кое-что сделать на AQ. Оп-c, обломчик вышел. Хотел сам дописать, а они OCI-вызов/инициализацию AQ тоже не реализовали, HDLL в приваты спрятали и т.д. Корректно написать модуль с вызовом AQ через OCI, видимо, не реально. Посмотрел реализацию DOA, так они тоже оказывается с OCI не заморачивались. Сделали вызов процедур пакета в PL/SQL блоке, и делов-то! Чую, так проще и надежнее будет. Хотя может кто под ODAC AQ уже написал сам? Поделитесь.
Страницы: 1 вся ветка
Текущий архив: 2007.01.07;
Скачать: CL | DM;
Память: 0.55 MB
Время: 0.033 c