Summary: | Lazarus не содержит встроенный менеджер баз данных | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Andrey Cherepanov <cas> |
Component: | lazarus | Assignee: | ruslandh <ruslandh> |
Status: | RESOLVED LATER | QA Contact: | Mikhail Gusarov <dottedmag> |
Severity: | normal | ||
Priority: | P2 | CC: | cas |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux | ||
Bug Depends on: | |||
Bug Blocks: | 15075 |
Description
Andrey Cherepanov
2008-02-18 19:07:41 MSK
Проверю :) Компоненты для работы с БД есть в лазаре, а вот менеджера БД я не видел. Ткни пальцем в него, может я не туда все эти годы смотрел? Это требование конкурсной документации. Компоненты Lazarus позволяют выбрать БД и таблицу из списка (то есть существуют ли средства получения данных и их изменения на существующей БД)? Да существуют компоненты для работы с БД: http://wiki.lazarus.freepascal.org/Lazarus_DB_Faq Вопрос в другом: как эти компоненты сделать предустановленными в пакете. В данный момент над этим работаю. На счёт менеджера БД это отдельная тема и к lazarus отсносится поскольку, постольку. В Delphi для этого существует DBEAdministrator и DBDesktop, которые являются самостоятельными продуктами. Да они поставлялись в составе Delphi, но так же они шли и отдельно. Я смотрел на DBDesigner - это было бы не плохим дополнением к fpc/lazarus, но он написан на Delphi/Kylix и перенести его на fpc/lazarus не так то просто. Как я понял dottedmag@ имел ввиду систему, аналогичную BDEAdministrator/DBDesktop или подобную DBDesigner. В данном случае надо смотреть, что есть для такого у нас, не зависимо от fpc/lazarus и что есть в инете под GPL. Фишка в том, что для соответствия конкурсной документации по НП-18 (Школьный Линукс) для ПО для объектно-ориентированного программирования на языке Pascal: "Средство разработки должно обеспечивать возможность соединения и работы с реляционными базами данных. Должно включать в себя встроенный менеджер баз данных для администрирования и разработки баз данных, включая выполнение SQL-запросов." Собственно мы предложили Lazarus, но возникла проблема с указанной функциональностью. Другой софт не подходит, нужен менеджер в рамках Lazarus. Может, написать расширение для выполнения SQL-запросов? Пакет компонентов SQLDBLaz. http://wiki.lazarus.freepascal.org/Lazarus_Database_Tutorial Подерживаются: mysql,postgresql, sqlite, MSSQL, Interbase/Firebird. Та же есть компоненты для соединения с Oracle и БД через ODBC.Есть компоненты для выполнения SQL-запросов и SQL-транзакций. А теперь объясните, что имеется ввиду под: "Должно включать в себя встроенный менеджер баз данных для администрирования и разработки баз данных, включая выполнение SQL-запросов." ? В Delphi это делается с помощью: BDEAdministartor - управление БД - создание, удаление,параметры соеденения. DBDesktop - непосредственно работа по созданию таблиц БД, изменения структуры таблиц БД, индексов. Редактирование содержимого таблицы БД. То же самое можно делать и из программного кода. В каком виде должен быть этот "встроенный менеджер БД"? Смотрю сейчас на http://sourceforge.net/projects/dbdesigner-fork вроде подходит к нам, но надо делать в таком случае порт с delphi/kylix. Попробую сделать. Но сроки хоть какого то результата да же не скажу. (In reply to comment #7) > Смотрю сейчас на http://sourceforge.net/projects/dbdesigner-fork > вроде подходит к нам, но надо делать в таком случае порт с delphi/kylix. > Попробую сделать. Но сроки хоть какого то результата да же не скажу. Смотрите по трудозатратам. Может, лучше сделать пример, указанный на http://wiki.lazarus.freepascal.org/MySQLDatabases в виде шаблона проекта. Чтобы его можно было увидеть в Файл - Создать... - Project - Database Manager Это самый быстрый по доступу вариант. Есть вариант с созданием dbmanager.lpi, но его надо найти, чтобы открыть. Что думаете? >Смотрите по трудозатратам. Слишком много kylix-специфичного >Может, лучше сделать пример, указанный на >http://wiki.lazarus.freepascal.org/MySQLDatabases в виде шаблона проекта. >Чтобы его можно было увидеть в >Файл - Создать... - Project - Database Manager >Это самый быстрый по доступу вариант. Есть вариант с созданием dbmanager.lpi, >но его надо найти, чтобы открыть. Что думаете? Думаю проще писать с нуля. Начать с подобия SQLExplorer'а из Delphi для MySQL'а. Ну а дальше развивать, если будет интересен кому-либо. Здесь три вещи: 1) компоненты, типы данных и подпрограммы для работы с БД: имеется в fpc/lazarus; 2) система визуального построения БД: openoffice.base, kexi; 3) система администрирования БД: pgadmin, phpMySQL и т.п. Надо определится, что мы хотим. Встроенный в lazarus менеджер БД ни о чём не говорит. Надо чёткая и ясная конкретика: по возможностям, функционалу, типам поддерживаемых БД. (In reply to comment #9) > Надо определится, что мы хотим. Встроенный в lazarus менеджер БД ни о чём не > говорит. Надо чёткая и ясная конкретика: по возможностям, функционалу, типам > поддерживаемых БД. Нам нужен примитивный, но работающий менеджер баз данных в Lazarus. Именно в Lazarus. Это должен быть проект, прописываемый в шаблоны проектов. Состоит из одной формы. Менеджер баз данных PostgreSQL для Lazarus Сервер [localhost] Имя пользователя [root ] Пароль [ ] Запрос: __________________ <Выполнить> __________________ Результат: __________________ __________________ __________________ Поддерживаемая БД: posgresql. Форма должна возвращать результаты выполнения SQL-запросов на указанный сервер. Черновой набросок отправил на cas@. Проверил на своём MySQL5 - работает. Перевешиваю на конкретный пакет На какой? Что то я это дело проглядел :( В общем ответ на этот баг есть в лазаре и у нас он имеется: [root@oasu3 /]# rpm -ql lazarus-tools | grep 'lazdatadesktop.lpr' [root@oasu3 /]# rpm -ql lazarus-tools | grep 'lazdatadesktop.lpr' /usr/lib/lazarus/tools/lazdatadesktop/lazdatadesktop.lpr [root@oasu3 /]# Не нашёл, как задействовать его из интерфейса. Через инструменты. Но это должен быть исполняемый файл. В следующей сборке задействую его компиляцию и изменю описание пакеты lazarus-tools на расширенное и понятное. Надо ещё там посмотреть как прикрутить работу с mysql4.1, mysql5. |