Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

нужна консультация BDE->Oracle? [D5, dBase, FoxPro, Oracle]


Oleg_er ©   (2002-05-31 06:27:00) 

Господа мастаки, нужна консультация - прога для доступа к данным сейчас узает интефейс BDE как считаете, под Oracle трудно будет переделать? И что для этого сделать нужно будет?


Lusha   (2002-05-31 09:58:00) [1]

>DPashin (31.05.02 09:29)
1. Имеется... Триггер + sequence
2. Возьмите их в кавычки
4. Просто все сливается в одну БД под разными схемами...
6. Для того и нужно свойство DatabaseName, чтобы его в запросе не указывать...
7. Конкатенация строк в Oracle ||


DPashin   (2002-05-31 09:53:00) [2]

2 fnatali
>2. Имена столбцов - зарезервированные слова (Number,Check, и т.д.)- ?????

Попробуй сделать create table myTable(Check integer) под Oracle.
Можно или сделать create table myTable("Check" integer) и потом везде в запросах использовать кавычки или переименовывать поле.

>3. просто в oracle другой синтаксис (используется +), а в 9-ке и обычный синтаксис уже введён.
Знаю. У нас, к сожалению, пока есть только 8.1.6


fnatali   (2002-05-31 09:42:00) [3]

1. Отсутствие типов данных AutoIncrement - надо использовать Sequence,Boolean - любое(numeric,varchar,...)
2. Имена столбцов - зарезервированные слова (Number,Check, и т.д.)- ?????
3. Отсутствие конструкции left join в SQL-запросах - просто в oracle другой синтаксис (используется +), а в 9-ке и обычный синтаксис уже введён.
5. В некоторых случаях - тормоза при использовании TTable на больших объемах данных - НЕ НУЖНО использовать TTable в клиент-серверных технологиях


DPashin   (2002-05-31 09:29:00) [4]

Сам сейчас занимаюсь переходом с Paradox на Oracle(8.1.6.).
И вот какие встретились проблемы:

1. Отсутствие типов данных AutoIncrement, Boolean.
2. Имена столбцов - зарезервированные слова (Number,Check, и т.д.)
3. Отсутствие конструкции left join в SQL-запросах
4. Перекрестные запросы на несколько парадоксовых БД (т.к. пока переводим только 1 БД, при таких запросах таблицы выкачиваются с сервера полностью, соответственно, все тормозит).
5. В некоторых случаях - тормоза при использовании TTable на больших объемах данных.
6. Запросы, в которых перепутан DataBaseName, например,
DataBaseName=MY_ORACLE_BASE
SQL.TEXT=select * from ":MY_PARADOX_BASE:MyTable"
7. Запросы типа select myStringField1+MyStringField2 from MyTable

Естественно, что все это решается, и уже через неделю мы наконец-то переезжаем под Oracle. Чего и вам желаю :)


esVer   (2002-05-31 09:23:00) [5]

При миграции от BDE однозначно рекомендуется ODAC - минимум проблем при сохранении привычного синтаксиса.


Lusha   (2002-05-31 09:12:00) [6]

>Oleg_er (31.05.02 06:27)
Чисто любопытство... А в Вашей программе свойство RecNo используется?


fnatali   (2002-05-31 08:58:00) [7]

>Oleg_er (31.05.02 08:13)
Если через БДЕ, то обычные TQuery,TUpdateSQL,TStoredProc,TDatabase, TSession


roottim   (2002-05-31 08:44:00) [8]

если программа под FoxPro то думаю BDE+ORACLE это нормально.
из перечисленных компонент прямого доступа, только ODAC имеет инструмент миграции BDE компонент в свои, тк он их дублирует (специально для этого).


Oleg_er   (2002-05-31 08:13:00) [9]

а в идеале как нужно работать с ораклом с помощбю дельфы?
используя какой интерфейс?


fnatali   (2002-05-31 07:56:00) [10]

Если приложение работает через запросы, то работы, конечно же намного меньше, но клиент-серверная технология позволяет использовать механизмы самого сервера - триггеры, хранимые процедуры, последовательности, а не делать всю логику на клиенте.


fnatali   (2002-05-31 07:54:00) [11]

Для работы с Oracle в БДЕ придётся настроить алиас. Для этого Configuration->Drivers->Nativ->Oracle настройки vendor init=путь_к_клиенту_Oracle\ociw32.dll (например c:\orawin95\bin\ociw32.dll), затем создать новый алиас.
В общем, если тебе нужно работать именно через BDE, и именно с Oracle, то ставь клиент от 8.0.х (к примеру от Developer 6i), или что ещё лучше, клиент от 7.3.х. Такое чувство, что Борланд остановился в развитии драйвера Oracle для BDE где-то в 99-м году, и с тех пор ни с места.
Хотя отдельные злые языки утверждают, что где-то водится 5.2 версия, которая умеет договариваться даже с 9-кой.
Можно работать без БДЕ - компоненты прямого доступа DAO,ODAC,NCOCI,...


Oleg_er   (2002-05-31 07:34:00) [12]

насчет неккоректности - догадываюсь :)
но все же интересно - как безболезненнее перейти... программа работает без алиасов (по путям из ини файла).
И что значит пересмотреть идеологию - прога работает целиком на запросах, без использования локальных таблиц.
И как может Оракл работать через БДЕ?


fnatali   (2002-05-31 06:36:00) [13]

Вопрос задан несколько некорректно. Дело в том, что с Oracle тоже можно работать через БДЕ. Для этого нужно настроить соответствующий алиас. Скорее всего придётся пересмотреть саму идеологию построения программы, т.к. dbase,foxpro - это файл-серверные БД, а Oracle - клиент-серверная.


Наверх

Титульная страница Поиск, карта сайта Написать письмо