<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>14515</bug_id>
          
          <creation_ts>2008-02-18 19:07:41 +0300</creation_ts>
          <short_desc>Lazarus не содержит встроенный менеджер баз данных</short_desc>
          <delta_ts>2008-04-17 19:24:11 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>lazarus</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>LATER</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>15075</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Cherepanov">cas</reporter>
          <assigned_to name="ruslandh">ruslandh</assigned_to>
          <cc>cas</cc>
          
          <qa_contact name="Mikhail Gusarov">dottedmag</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>64021</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2008-02-18 19:07:41 +0300</bug_when>
    <thetext>Lazarus не содержит встроенный менеджер баз данных для администрирования и 
разработки баз данных, включая выполнение SQL-запросов</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66238</commentid>
    <comment_count>1</comment_count>
    <who name="ruslandh">ruslandh</who>
    <bug_when>2008-03-19 19:10:44 +0300</bug_when>
    <thetext>Проверю :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67291</commentid>
    <comment_count>2</comment_count>
    <who name="ashen">lex.shen</who>
    <bug_when>2008-04-01 18:25:38 +0400</bug_when>
    <thetext>Компоненты для работы с БД есть в лазаре, а вот менеджера БД я не видел. Ткни 
пальцем в него, может я не туда все эти годы смотрел?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67297</commentid>
    <comment_count>3</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2008-04-01 19:35:58 +0400</bug_when>
    <thetext>Это требование конкурсной документации. Компоненты Lazarus позволяют выбрать 
БД и таблицу из списка (то есть существуют ли средства получения данных и их 
изменения на существующей БД)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67475</commentid>
    <comment_count>4</comment_count>
    <who name="ashen">lex.shen</who>
    <bug_when>2008-04-03 13:30:35 +0400</bug_when>
    <thetext>Да существуют компоненты для работы с БД:
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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67482</commentid>
    <comment_count>5</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2008-04-03 15:00:31 +0400</bug_when>
    <thetext>Фишка в том, что для соответствия конкурсной документации по НП-18 (Школьный 
Линукс) для ПО для объектно-ориентированного программирования на языке Pascal:
&quot;Средство разработки должно обеспечивать возможность соединения и работы с 
реляционными базами данных. Должно включать в себя встроенный менеджер баз 
данных для администрирования и разработки баз данных, включая выполнение 
SQL-запросов.&quot;

Собственно мы предложили Lazarus, но возникла проблема с указанной 
функциональностью. Другой софт не подходит, нужен менеджер в рамках Lazarus. 
Может, написать расширение для выполнения SQL-запросов?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67687</commentid>
    <comment_count>6</comment_count>
    <who name="ashen">lex.shen</who>
    <bug_when>2008-04-07 10:22:39 +0400</bug_when>
    <thetext>Пакет компонентов SQLDBLaz. 
http://wiki.lazarus.freepascal.org/Lazarus_Database_Tutorial
Подерживаются: mysql,postgresql, sqlite, MSSQL, Interbase/Firebird.
Та же есть компоненты для соединения с Oracle и БД через ODBC.Есть компоненты 
для выполнения SQL-запросов и SQL-транзакций.

А теперь объясните, что имеется ввиду под:
&quot;Должно включать в себя встроенный менеджер баз 
данных для администрирования и разработки баз данных, включая выполнение 
SQL-запросов.&quot; ?
В Delphi это делается с помощью: BDEAdministartor - управление БД - создание, 
удаление,параметры соеденения. DBDesktop - непосредственно работа по созданию 
таблиц БД, изменения структуры таблиц БД, индексов. Редактирование содержимого 
таблицы БД. То же самое можно делать и из программного кода.
В каком виде должен быть этот &quot;встроенный менеджер БД&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67703</commentid>
    <comment_count>7</comment_count>
    <who name="ashen">lex.shen</who>
    <bug_when>2008-04-07 13:43:09 +0400</bug_when>
    <thetext>Смотрю сейчас на http://sourceforge.net/projects/dbdesigner-fork
вроде подходит к нам, но надо делать в таком случае порт с delphi/kylix. 
Попробую сделать. Но сроки хоть какого то результата да же не скажу.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67738</commentid>
    <comment_count>8</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2008-04-07 20:44:08 +0400</bug_when>
    <thetext>(In reply to comment #7)
&gt; Смотрю сейчас на http://sourceforge.net/projects/dbdesigner-fork
&gt; вроде подходит к нам, но надо делать в таком случае порт с delphi/kylix. 
&gt; Попробую сделать. Но сроки хоть какого то результата да же не скажу.
Смотрите по трудозатратам. Может, лучше сделать пример, указанный на 
http://wiki.lazarus.freepascal.org/MySQLDatabases в виде шаблона проекта.
Чтобы его можно было увидеть в 
Файл - Создать... - Project - Database Manager
Это самый быстрый по доступу вариант. Есть вариант с созданием dbmanager.lpi, 
но его надо найти, чтобы открыть. Что думаете?
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67751</commentid>
    <comment_count>9</comment_count>
    <who name="ashen">lex.shen</who>
    <bug_when>2008-04-08 10:25:39 +0400</bug_when>
    <thetext>&gt;Смотрите по трудозатратам. 
Слишком много kylix-специфичного

&gt;Может, лучше сделать пример, указанный на 
&gt;http://wiki.lazarus.freepascal.org/MySQLDatabases в виде шаблона проекта.
&gt;Чтобы его можно было увидеть в 
&gt;Файл - Создать... - Project - Database Manager
&gt;Это самый быстрый по доступу вариант. Есть вариант с созданием dbmanager.lpi, 
&gt;но его надо найти, чтобы открыть. Что думаете?

Думаю проще писать с нуля. Начать с подобия SQLExplorer&apos;а из Delphi для MySQL&apos;а.
Ну а дальше развивать, если будет интересен кому-либо.

Здесь три вещи:
1) компоненты, типы данных и подпрограммы для работы с БД: имеется в fpc/lazarus;
2) система визуального построения БД: openoffice.base, kexi;
3) система администрирования БД: pgadmin, phpMySQL и т.п.

Надо определится, что мы хотим. Встроенный в lazarus менеджер БД ни о чём не
говорит. Надо чёткая и ясная конкретика: по возможностям, функционалу, типам
поддерживаемых БД.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67779</commentid>
    <comment_count>10</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2008-04-08 15:31:09 +0400</bug_when>
    <thetext>(In reply to comment #9)
&gt; Надо определится, что мы хотим. Встроенный в lazarus менеджер БД ни о чём не
&gt; говорит. Надо чёткая и ясная конкретика: по возможностям, функционалу, типам
&gt; поддерживаемых БД.
Нам нужен примитивный, но работающий менеджер баз данных в Lazarus. Именно в 
Lazarus. Это должен быть проект, прописываемый в шаблоны проектов.
Состоит из одной формы.
Менеджер баз данных PostgreSQL для Lazarus
Сервер [localhost] Имя пользователя [root  ] Пароль [     ]
Запрос:
__________________ &lt;Выполнить&gt;
__________________
Результат:
__________________
__________________
__________________

Поддерживаемая БД:  posgresql. Форма должна возвращать результаты выполнения 
SQL-запросов на указанный сервер.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67872</commentid>
    <comment_count>11</comment_count>
    <who name="ashen">lex.shen</who>
    <bug_when>2008-04-09 18:32:03 +0400</bug_when>
    <thetext>Черновой набросок отправил на cas@. Проверил на своём MySQL5 - работает.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67953</commentid>
    <comment_count>12</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2008-04-10 17:10:33 +0400</bug_when>
    <thetext>Перевешиваю на конкретный пакет</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67954</commentid>
    <comment_count>13</comment_count>
    <who name="ashen">lex.shen</who>
    <bug_when>2008-04-10 17:14:09 +0400</bug_when>
    <thetext>На какой?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68083</commentid>
    <comment_count>14</comment_count>
    <who name="ashen">lex.shen</who>
    <bug_when>2008-04-11 15:56:59 +0400</bug_when>
    <thetext>Что то я это дело проглядел :(
В общем ответ на этот баг есть в лазаре и у нас он имеется:
[root@oasu3 /]# rpm -ql lazarus-tools | grep &apos;lazdatadesktop.lpr&apos;
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68084</commentid>
    <comment_count>15</comment_count>
    <who name="ashen">lex.shen</who>
    <bug_when>2008-04-11 15:59:46 +0400</bug_when>
    <thetext>[root@oasu3 /]# rpm -ql lazarus-tools | grep &apos;lazdatadesktop.lpr&apos;
/usr/lib/lazarus/tools/lazdatadesktop/lazdatadesktop.lpr
[root@oasu3 /]#</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68096</commentid>
    <comment_count>16</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2008-04-11 18:28:39 +0400</bug_when>
    <thetext>Не нашёл, как задействовать его из интерфейса.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68097</commentid>
    <comment_count>17</comment_count>
    <who name="ashen">lex.shen</who>
    <bug_when>2008-04-11 18:47:53 +0400</bug_when>
    <thetext>Через инструменты. Но это должен быть исполняемый файл. В следующей сборке
задействую его компиляцию и изменю описание пакеты lazarus-tools на расширенное
и понятное.
Надо ещё там посмотреть как прикрутить работу с mysql4.1, mysql5.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>