Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
15-1166435666
AntiUser
2006-12-18 12:54
2007.01.07
Владелец онлайнового магазина подает в суд на блоггера за...


15-1166448048
Иксик
2006-12-18 16:20
2007.01.07
Поздравляю data :)


3-1161460608
Nik76
2006-10-21 23:56
2007.01.07
Как предотвратить автоматическое обновление поля?


15-1166035102
alexcraz
2006-12-13 21:38
2007.01.07
Программа и ее стоимость


2-1166352049
jonson35
2006-12-17 13:40
2007.01.07
как правильно создать процедуру?