Bug 14515 - Lazarus не содержит встроенный менеджер баз данных
: Lazarus не содержит встроенный менеджер баз данных
Status: RESOLVED LATER
: Sisyphus
(All bugs in Sisyphus/lazarus)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
: 15075
  Show dependency tree
 
Reported: 2008-02-18 19:07 by
Modified: 2008-04-17 19:24 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2008-02-18 19:07:41
Lazarus не содержит встроенный менеджер баз данных для администрирования и 
разработки баз данных, включая выполнение SQL-запросов
------- Comment #1 From 2008-03-19 19:10:44 -------
Проверю :)
------- Comment #2 From 2008-04-01 18:25:38 -------
Компоненты для работы с БД есть в лазаре, а вот менеджера БД я не видел. Ткни 
пальцем в него, может я не туда все эти годы смотрел?
------- Comment #3 From 2008-04-01 19:35:58 -------
Это требование конкурсной документации. Компоненты Lazarus позволяют выбрать 
БД и таблицу из списка (то есть существуют ли средства получения данных и их 
изменения на существующей БД)?
------- Comment #4 From 2008-04-03 13:30:35 -------
Да существуют компоненты для работы с БД:
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.
------- Comment #5 From 2008-04-03 15:00:31 -------
Фишка в том, что для соответствия конкурсной документации по НП-18 (Школьный 
Линукс) для ПО для объектно-ориентированного программирования на языке Pascal:
"Средство разработки должно обеспечивать возможность соединения и работы с 
реляционными базами данных. Должно включать в себя встроенный менеджер баз 
данных для администрирования и разработки баз данных, включая выполнение 
SQL-запросов."

Собственно мы предложили Lazarus, но возникла проблема с указанной 
функциональностью. Другой софт не подходит, нужен менеджер в рамках Lazarus. 
Может, написать расширение для выполнения SQL-запросов?
------- Comment #6 From 2008-04-07 10:22:39 -------
Пакет компонентов SQLDBLaz. 
http://wiki.lazarus.freepascal.org/Lazarus_Database_Tutorial
Подерживаются: mysql,postgresql, sqlite, MSSQL, Interbase/Firebird.
Та же есть компоненты для соединения с Oracle и БД через ODBC.Есть компоненты 
для выполнения SQL-запросов и SQL-транзакций.

А теперь объясните, что имеется ввиду под:
"Должно включать в себя встроенный менеджер баз 
данных для администрирования и разработки баз данных, включая выполнение 
SQL-запросов." ?
В Delphi это делается с помощью: BDEAdministartor - управление БД - создание, 
удаление,параметры соеденения. DBDesktop - непосредственно работа по созданию 
таблиц БД, изменения структуры таблиц БД, индексов. Редактирование содержимого 
таблицы БД. То же самое можно делать и из программного кода.
В каком виде должен быть этот "встроенный менеджер БД"?
------- Comment #7 From 2008-04-07 13:43:09 -------
Смотрю сейчас на http://sourceforge.net/projects/dbdesigner-fork
вроде подходит к нам, но надо делать в таком случае порт с delphi/kylix. 
Попробую сделать. Но сроки хоть какого то результата да же не скажу.
------- Comment #8 From 2008-04-07 20:44:08 -------
(In reply to comment #7)
> Смотрю сейчас на http://sourceforge.net/projects/dbdesigner-fork
> вроде подходит к нам, но надо делать в таком случае порт с delphi/kylix. 
> Попробую сделать. Но сроки хоть какого то результата да же не скажу.
Смотрите по трудозатратам. Может, лучше сделать пример, указанный на 
http://wiki.lazarus.freepascal.org/MySQLDatabases в виде шаблона проекта.
Чтобы его можно было увидеть в 
Файл - Создать... - Project - Database Manager
Это самый быстрый по доступу вариант. Есть вариант с созданием dbmanager.lpi, 
но его надо найти, чтобы открыть. Что думаете?
------- Comment #9 From 2008-04-08 10:25:39 -------
>Смотрите по трудозатратам. 
Слишком много 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 менеджер БД ни о чём не
говорит. Надо чёткая и ясная конкретика: по возможностям, функционалу, типам
поддерживаемых БД.
------- Comment #10 From 2008-04-08 15:31:09 -------
(In reply to comment #9)
> Надо определится, что мы хотим. Встроенный в lazarus менеджер БД ни о чём не
> говорит. Надо чёткая и ясная конкретика: по возможностям, функционалу, типам
> поддерживаемых БД.
Нам нужен примитивный, но работающий менеджер баз данных в Lazarus. Именно в 
Lazarus. Это должен быть проект, прописываемый в шаблоны проектов.
Состоит из одной формы.
Менеджер баз данных PostgreSQL для Lazarus
Сервер [localhost] Имя пользователя [root  ] Пароль [     ]
Запрос:
__________________ <Выполнить>
__________________
Результат:
__________________
__________________
__________________

Поддерживаемая БД:  posgresql. Форма должна возвращать результаты выполнения 
SQL-запросов на указанный сервер.
------- Comment #11 From 2008-04-09 18:32:03 -------
Черновой набросок отправил на cas@. Проверил на своём MySQL5 - работает.
------- Comment #12 From 2008-04-10 17:10:33 -------
Перевешиваю на конкретный пакет
------- Comment #13 From 2008-04-10 17:14:09 -------
На какой?
------- Comment #14 From 2008-04-11 15:56:59 -------
Что то я это дело проглядел :(
В общем ответ на этот баг есть в лазаре и у нас он имеется:
[root@oasu3 /]# rpm -ql lazarus-tools | grep 'lazdatadesktop.lpr'
------- Comment #15 From 2008-04-11 15:59:46 -------
[root@oasu3 /]# rpm -ql lazarus-tools | grep 'lazdatadesktop.lpr'
/usr/lib/lazarus/tools/lazdatadesktop/lazdatadesktop.lpr
[root@oasu3 /]#
------- Comment #16 From 2008-04-11 18:28:39 -------
Не нашёл, как задействовать его из интерфейса.
------- Comment #17 From 2008-04-11 18:47:53 -------
Через инструменты. Но это должен быть исполняемый файл. В следующей сборке
задействую его компиляцию и изменю описание пакеты lazarus-tools на расширенное
и понятное.
Надо ещё там посмотреть как прикрутить работу с mysql4.1, mysql5.