СУБД Oracle и интерфейсы к ней на Delphi

Skiy
10/18/2006, 5:51:27 PM
Ребят, столкнулся с Oracle мне надо написать базу данных и сделать к ней интерфейс на delphi. Может кто этим занимается или занимался, дайте пару советов или примеров. Заранее спасибо.
Corsair
10/21/2006, 1:49:40 AM
Что за база (объем, количество пользователей, частота подключений)?
Каковы ваши навыки написания подобных продуктов и вообще навыки работы с Делфи? Побольше информации и можно будет помочь вашему делу. smile.gif
vugluskr74
10/21/2006, 3:49:17 PM
Дык не вижу проблем. Ты начинай писать а там по ходу спрашивай, постараюсь ответить
Skiy
10/23/2006, 4:04:01 PM
База 18 таблиц, количество пользователей неизвестно, но база спецефическая так что я думаю не много. С базой я в принципе справился, а вот с Делфи особо не дружу, кодил на нем года 2 назад и то простецкие задачи. У меня проблемы с подключением...
kiskus
10/24/2006, 4:29:32 PM
Если количество пользователей неизвестно, то выход один:при подключении
каждый работает с ВАШИМ логином и паролем.
Соответсвенно имеет все ВАШИ права, но можно отслеживать на уровне Вашего приложения кто и когда подключался.
Вы пишете база 18 таблиц. Вопрос: как связаны меж собой таблицы и связаны ли воообще?

DELETED
10/24/2006, 5:23:12 PM
Да о чем же вы тут все пишите? 8/ Ну какая в титьку разница, нормализованная база или нет, связаны таблицы или нет, или какое количество пользователей... Бред говорите.

Подключение: настройте клиентскую часть Oracle, для этого используйте утилиту Oracle Net8 Easy Config (или как они там в других версиях называются). Создаете Alias, выбираете сетевой протокол, адрес и имя созданной базы, тестируете соединение и закрываете эту утилиту. Потом настраиваете BDE (Borland Database Engine) через BDE Administrator, где в качестве имени сервера выбираете Alias созданный по описанию чуть выше. А потом просто работаете.

Тут очень хорошо про BDE, а исходники... Ну, к примеру, такой или такой... Гуглите, да отгуглится вам. wink.gif

А вопросы задавайте конкретные, а то в ответ будете получать такой же флейм выше. wink.gif

kiskus
10/25/2006, 1:25:25 PM
Существует прямой доступ к Oracle минуя BDE
пакет Direct Oracle Access
mvf23
10/25/2006, 4:34:36 PM
BDE - это страшный сон. Если есть возможность не пользоваться им - не пользуйтесь. Кривейшая вещь. Особенно когда речь заходит о распространении продукта. Не буду рассказывать о всяких неприятностях, которые подстерегают программиста на тернистом пути использования BDE.

Просто примите как аксиому - не стоит использовать BDE в продукте, который будет работать ещё где-то кроме вашего компьютера - поимеете сплошной геморрой. Благо сейчас существует куча возможностей обойтись без него. Погуглите по сочетанию "BDE alternative"

По-моему в поставке дельфей есть альтернативные компоненты для работы с ораклом минуя BDE (Сам не пользовался, поэтому точно не знаю, и добавить на этот счет ничего не могу) - вон и кактус в предыдущем посте об этом уже сказал.

Единственное достойной применение BDE - это быстро и наляписто сотворить что-то простенькое для личного пользования.

Что касается того, как работать с базами данных из дельфей - в help'ах есть step-by-step tutorial по созданию программы для работы с базой данных (на английском, разумеется). В папке Demos (там где установлен Delphi) есть куча разных примеров, в том числе и различные примеры по работе с БД. Вообще про это сказанро и написано довольно много. Лучше действительно реашать конкретные проблемы, чем как-то пространно рассуждать о работе с БД из Дельфей.
kiskus
10/26/2006, 10:33:19 PM
(mvf23 @ 25.10.2006 - время: 12:34) BDE - это страшный сон. Если есть возможность не пользоваться им - не пользуйтесь. Кривейшая вещь. Особенно когда речь заходит о распространении продукта. Не буду рассказывать о всяких неприятностях, которые подстерегают программиста на тернистом пути использования BDE.

Просто примите как аксиому - не стоит использовать BDE в продукте, который будет работать ещё где-то кроме вашего компьютера - поимеете сплошной геморрой. Благо сейчас существует куча возможностей обойтись без него. Погуглите по сочетанию "BDE alternative"

По-моему в поставке дельфей есть альтернативные компоненты для работы с ораклом минуя BDE (Сам не пользовался, поэтому точно не знаю, и добавить на этот счет ничего не могу) - вон и кактус в предыдущем посте об этом уже сказал.

Единственное достойной применение BDE - это быстро и наляписто сотворить что-то простенькое для личного пользования.

Что касается того, как работать с базами данных из дельфей - в help'ах есть step-by-step tutorial по созданию программы для работы с базой данных (на английском, разумеется). В папке Demos (там где установлен Delphi) есть куча разных примеров, в том числе и различные примеры по работе с БД. Вообще про это сказанро и написано довольно много. Лучше действительно реашать конкретные проблемы, чем как-то пространно рассуждать о работе с БД из Дельфей.
BDE- универсальная быстрая вещь особенно для доступа к локальным таблицам. Если правильно применять, то никакой кривости нет и в помине.
Если распостранять своё приложение вместе с BDE, то есть такой пакет как -
Wise installation system. При формировании проекта,BDE с алиасами, можно включить в конечный файл.

В Delphi к Oracle можно доступатся также через dbExpres только медленно работает ИМХО
mvf23
10/27/2006, 4:43:08 PM
(kiskus @ 26.10.2006 - время: 18:33) BDE- универсальная быстрая вещь особенно для доступа к локальным таблицам. Если правильно применять, то никакой кривости нет и в помине.
Если распостранять своё приложение вместе с  BDE, то есть такой пакет как -
Wise installation system. При формировании проекта,BDE с алиасами, можно включить в конечный файл. 

В Delphi к Oracle можно доступатся  также через dbExpres только медленно работает ИМХО
Что "универсальная" и "быстрая" и для "локальных таблиц" - согласен.

С остальным нет. В том чтобы просто включить в дистрибутив BDE хоть с алиасами, хоть без - никаких проблем нет. Любой нормальный инсталлятор легко справится. Я к примеру использую InnoSetup. Но это неважно.

Важно то, что если у несчастного конечного пользователя уже есть BDE другой версии - тогда начинается лотерея. Совместимость между разными версиями BDE практически отсутствует. Т.е. на одном компьютере 2 разных приложения написанных с использованием 2-х разных версий BDE нормально сосуществовать не могут. Не верите - попробуйте.

Я уж молчу про то, что"родные" визульные компоненты для отображения данных страшно глюкавы. (Никогда не видели как скроллер в DBGrid превращается в одну оргомную стрелку?)

ВОт какие недостатки имеет BDE с точки зрения самих Borland:

* In the typically deployment of BDE-based applications, a copy of the BDE must be installed and configured on each workstation (a network installation is possible, but requires manual registry configuration).
* The BDE is somewhat inefficient compared to alternatives such as dbExpress.NET, in that it stores as many as three copies of a table's metadata.
When used with local tables such as Paradox tables, failure to correctly configure the BDE can produce periodic index or table corruption.
* If a new BDE application is incorrectly installed, existing BDE applications may fail to initialize properly.
* The BDE is not available for Linux applications written in Kylix.
* Support for access to remote database servers using Borland's SQL Links for Windows is deprecated.

Источник - https://bdn1.borland.com/borcon2004/article...3,32164,00.html

Кроме того, должен обратить ваше внимание на то что BDE более не поддерживается корпорацией Borland. Последняя существующая версия BDE - 5.2 выпущена в марте 2001 года. Наличие BDE в более современных версиях Delphy/Builder - дань совсестимости.

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

В общем у меня есть достаточно большой и непрятный опыт общения с BDE. Просто поверьте мне. Нам хватило только одного выпущенного продукта, использующего BDE, чтобы раз и навсегда отказаться от этого движка БД. Не наступайте на те же грабли. Впрочем решение, конечно, за вами, мое дело маленькое - предупредить.

Я повторюсь - на мой взгляд, единственное достойной применение BDE - это быстро и наляписто сотворить что-то простенькое для личного пользования.

Что касается альтернатив: из стандартных это ADO и DBExpress. Есть ещё куча сторонних (не буду никому создавать рекламу), а для локальных баз нет ничего лучше SQLite, ИМХО.