На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Rouse_, jack128, Krid
  
    > Нужели мне нужно устанавливать BDE?
      Допустим написал я программку для работы с некоторой базой данных, каким образом можно перетащить её на другой комп, если на нём нету никакого database desktop чтоб настроить Alias'ы, никаких библиотек нужных? Вы хотите сказать что никуда не деться и придётся заказчикам всем ставить с диска Delphi DB Desktop ?


      Вы немного не понимаете архитектуру обращения к базе данных, BDE это вовсе не система настройки Alias'ов, не DB Desktop и не Database Administrator! Программа на Дельфи как и на любом другом языке общается с базами данных через особые драйвера баз данных, собственно компоненты TTablу/TQuery ничего не делают с базой данных, они только дают возможность в удобной форме послать запрос драйверу и интерпретировать ответ от драйвера, все запросы, все физические операции с базой данных делает вовсе не код вашего exe файла, а драйвер базы данных, который в данном случае входит в состав BDE. Примерно так же как когда вы сохраняете файл на диске вы же не даёте напрямую команду BIOSу записать на диск номер такой-то дорожку такую-то сектор такой-то, вы пишете имя файла, а драйвер диска входящий в состав операционной системы сам знает в какие сектора что писать. Точно то же и с базами данных - существует драйвер, который физически работает с таблицами, а вы лишь пользуетесь компонентами, которые знают как работать с драйвером (не с базой данных!) и позволяют Вам это делать довольно удобным способом. Чтобы унифицировать работу и не иметь отдельного совершенно разного интерфейса к разным базам данных используют так называемые системы доступа к базам данных - это наборы драйверов ко всем более или менее распространённым базам данных, которые имеют более или менее стандартный интерфейс для программиста, единые программы их конфигурирования и единую идеологию построения. Одной из таких систем является BDE - Borland Database Engine - по русски, в дословном переводе - Борландовский движок для баз данных - заметьте, не конфигурация и не DB Desktop - а "движок", ядро, именно то что и обеспечивает работу с базами данных. Компоненты TTable/TQuery без BDE работать не будут - там просто нет тех API с которыми они оперируют. Физически BDE представляет из себя:
      1) Файл хранящий настрйки
      2) Несколько DLL обеспечивающих общую работоспособность BDE
      3) Драйвера для различных баз данных (Paradox, MS SQL Server, InterBase и т.д.)
      4) Служебные утилиты для конфигурации и простых операций с базами данных (DB Desktop, BDE Administrator)
      5) SQL Link - система специальных драйверов для серверных баз данных с улучшенной архитектурой под приложения клиент-сервер
      Наличие файлов пунктов 1 и 2 - абсолютно необходимо, из пункта 3 - Вам в простейшем случае нужен лишь тот драйвер которым Вы пользуетесь. Файлы пунктов 4 и 5 - вспомогательные, для работоспособности BDE не имеют абсолютной необходимости.
      Отвечая на Ваш вопрос - да, всем заказчикам надо поставить BDE, и ничего в этом страшного нет, так как любая маломальски сложная система обычно требует установки многих третьесторонних продуктов и ничего страшного в этом нет, во-вторых BDE бесплатна и вы можете её ставить где угодно и кому угодно, в третьих - BDE практически не мешает никаким другим программам, если они её не пользуют, практически не трогает реестр и занимает не так уж много места - по современным меркам - совсем мало, и в четвёртых - любой инсталлятор, например Install Shield "знает" как устанавливать BDE, поэтому если вы создадите нормальную инсталляцию Вашей программы, как любого серьёзного продукта, то инсталляция BDE будет проходить совершенно прозрачно и никому не будет мешать.
      Сообщение отредактировано: Vit -
        Как установить BDE?
        Для начала надо прочитать:

        {BDE}\bdeinst.txt
        {BDE}\bdereadme.txt
        {BDE}\Readlink.txt
        {DELPHI}\deploy.txt

        Распространить одну-две копии BDE проще всего с компакта Delphi, с помощью выборочной установки только BDE.

        Для массовых установок фирма Борланд рекомендует использовать сертифицированные инсталляторы, такие как: Install Shield(Express), Wise.
        Install Shield Express поставляется в Delphi 2-5

        См. также статью:
        Merging the configuration file has failed
        http://community.borland.com/article/0,1410,18727,00.html

        Существует нелицензионный путь через bdeinst.dll, но это без алиасов и SQLLink.

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


        Как установить BDE с помощью bdeinst.dll?
        Желательно скопировать bdeinst.dll в папку WINDOWS, упрощается процесс установки как в первый раз, так и при последующих инсталляциях.

        Выполнить из командной строки:

        regsvr32.exe bdeinst.dll

        bdeinst.dll находится в файле bdeinst.cab, каталог BDE
        bdeinst.dll распаковывается из bdeinst.cab командой extract.exe

        Воробьев Дмитрий vorobjov@veritas.dp.ua
        A.Fionik

        ---
        В папке \Program Files\Borland Shared\BDE\ есть архив bdeinst.cab,
        распаковать из него bdeinst.dll с помощью extract.exe
        Скачать Inno Setup http://www.jordanr.dhs.org/

        Hаписать скрипт к нему такого содержания:

        ¦=-== BDE.ISS ==-=¦

        ; Инсталляция BDE 5.0 из D4
        ;

        [Setup]
        Bits=32
        AppName=BDE
        AppVerName=BDE 5.0
        AppCopyright=Copyright Inprise
        DefaultDirName={tmp}
        DefaultGroupName=BDE
        MinVersion=4,3.51
        CompressLevel=9
        DiskSpanning=1

        [Files]
        Source: "BdeInst.Dll"; DestDir: "{app}"; Flags: regserver

        ¦=-== BDE.ISS ==-=¦

        Получится полная инсталляция BDE размером около 3Мб.

        Создание алиасов программным путем:

        Session1. Active := True;
        if not Session1. IsAlias ('garant') then begin
        Session1. AddStandardAlias ('garant', ExtractFileDir (ParamStr (0)), '');
        Session1. SaveConfigFile;
        ShowMessage ('Псевдоним `garant` успешно создан!');
        end;

        Alexander Trunov (Alexander.Trunov@p1.f10.n5069.z2.fidonet.org)


        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0221 ]   [ 16 queries used ]   [ Generated: 19.03.24, 06:38 GMT ]