DBDesigner & Lazarus

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Сообщение Attid » 10.04.2008 11:43:24

ну вы в курсе держите как что-то там работать будет =)
как понял по трекеру будет подгонятся под мускул,
готов взятся за добавление птички, но это как я понимаю имеет смысл уже когда скелет интерфейса будет.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение Attid » 10.04.2008 11:51:17

это конечно уже офтоп но

Фишка в том, что для соответствия конкурсной документации по НП-18 (Школьный
Линукс) для ПО для объектно-ориентированного программирования на языке Pascal:
"Средство разработки должно обеспечивать возможность соединения и работы с
реляционными базами данных. Должно включать в себя встроенный менеджер баз
данных для администрирования и разработки баз данных, включая выполнение
SQL-запросов."


Нам нужен примитивный, но работающий менеджер баз данных в Lazarus. Именно в
Lazarus. Это должен быть проект, прописываемый в шаблоны проектов.
Состоит из одной формы.
Менеджер баз данных PostgreSQL для Lazarus
Сервер [localhost] Имя пользователя [root ] Пароль [ ]
Запрос:
__________________ <Выполнить>
__________________
Результат:
__________________
__________________
__________________

Поддерживаемая БД: posgresql. Форма должна возвращать результаты выполнения
SQL-запросов на указанный сервер.


первое от второго отличается как небо и земля =)
хотя для галочки пойдет, только не стоит потом удивляться отзывам школьных учителей "поставили тут линукс, как учеников учить не понятно" :roll:
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение AShen » 10.04.2008 12:25:08

В том то и дело. Всё, что нужно для работы с БД есть в лазаре. Нету, или я не нашёл, утилит аналогичных DBEAdministrator, SQLExplorer, DBDesktop, DBDesigner. Я в там, в bugzilla, отписал, что это принципиально разные вещи, но в ТЗ всё свалили в одну кучу.

Для начала решил просто сделать что то вроде DBNavigator'а по образу и подобию http://wiki.lazarus.freepascal.org/MySQLDatabases
Но с возможностью работы с несколькими типами СУБД. В лазаре в принципе всё для этого есть. Но я давно не работал с InterBase/Firebird и не помню что там и как. Совсем не работаю с PostgreSQL (точнее у меня он используется как СУБД для 1С под линуксом), Oracle. По сему и не знаю аналогов запросов для MySQL:
show databases;
show tables;
show columns from <имя_таблицы>;

Кто знает, подскажите ... :wink:
Сам то разберусь, но это время.
Аватара пользователя
AShen
постоялец
 
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение Attid » 10.04.2008 15:12:35

про птичку скажу , про слоника это деби1234 надо спросить

show databases;

нету. у птички нельзя узнать какие есть базы на сервере, для секуретности типа.


show tables;

Код: Выделить всё
  dsTables.SQLSelect.Text:=' select rdb$Relation_Name '+
  ' from rdb$relations '+
  ' where (rdb$system_flag <> 1 or Rdb$System_Flag is null) and Rdb$View_BLR is null '+
  ' and rdb$Relation_Name not in (''REPLIC'') '+
  ' order by rdb$relation_name ';



show columns from <имя_таблицы>;


Код: Выделить всё
  dsf.SQLSelect.Text:='  Select R.Rdb$Field_Name,  '#13+
'  coalesce(r.rdb$null_flag,f.rdb$null_flag,0) null_flag,  '#13+
'  case F.Rdb$field_type  '#13+
'    when 12 then 1 /*date*/  '#13+
'    when 13 then 1 /*time*/  '#13+
'    when 14 then 1 /*char*/  '#13+
'    when 35 then 1 /*timestamp*/  '#13+
'    when 37 then 1 /*varchar*/  '#13+
'    else 0  '#13+
'    end as uq,  '#13+
'  F.Rdb$field_type '#13+
'  from rdb$Relation_Fields R, RDB$FIELDS F  '#13+
'  where  '#13+
'  R.Rdb$Relation_Name = :NAME and  '#13+
'  F.rdb$field_name=R.Rdb$field_source and '#13+
'  f.rdb$computed_blr is null '#13+
'  order by R.rdb$field_position, R.rdb$field_name  '#13;
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение m_guest » 10.04.2008 16:35:46

Кстати, alexs в свое время начинал делать менеджер БД(Firebird) на Lazarus тут
m_guest
постоялец
 
Сообщения: 193
Зарегистрирован: 14.08.2005 15:10:21

Сообщение AShen » 10.04.2008 16:47:31

Не плохо у него получилось, но это узкоспециализированный. А надо ещё и для MySQL/PostgreSQL.
И так же как и FenixSQL не развивается. Но как пример и на что равняться буду смотреть ... :)
Единственное, что плохо, а вот это надо у alexs нету ни слова про лицензию. А вот это важно. Должно быть GPL/GPL2/LGPL. "Школьный линукс" должен быть лицензионно чист.
Аватара пользователя
AShen
постоялец
 
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение alexs » 10.04.2008 17:10:25

Сам менеджер под GPL
FBDataSet под LGPL
так устроит?
я кстати его на сайте давно не обновлял - а кое что подделал
могу перезалить.

Там по хорошему можно сделать подержку нескольких платформ серверов. Просто вынести привязанную к конретному серверу логику в отдельные модули и сделать слой совместимости.
Так что если есть желание - я исходникы выложу на sf или ещё куда либо.

P.S.
Если с DBDesigner дело выгорит - то я его тоже в свой менеджер хочу включить.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение AShen » 10.04.2008 17:28:20

alexs писал(а):Сам менеджер под GPL
FBDataSet под LGPL
так устроит?

Нет. Должен быть файл license, где сказано под какой лицензией. Если сотавляющая А под лицензией Л1, а Б под лицензией Л2, то об этом должно быть указано.

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

Если можешь, то сделай. И с обязательным указанием лицензии. То же самое с RxFPC. И не большая просьба: а можно документацию в UTF8? Можно и рядом с cp1251. И просьба ещё что бы в пакетах шли makefile.fpc. Просто так на много удобней для машинной сборки пакетов из командной строки. Так то я их и сам с помощью лазаря делаю, да в пакет укладываю.

Там по хорошему можно сделать подержку нескольких платформ серверов. Просто вынести привязанную к конретному серверу логику в отдельные модули и сделать слой совместимости.

Надо.

Так что если есть желание - я исходникы выложу на sf или ещё куда либо.

Выкладывай и ссылку укажи. Заранее благодарен.

P.S.
Если с DBDesigner дело выгорит - то я его тоже в свой менеджер хочу включить.

Начал делать порт: да посмотрел и решил, что лучше с нуля написать, через чур много kylix спецефично. C Padre_Mortius уже обсуждали эту тему. Сначала менеджер DB PostgreSQL/MySQL/IB/FB , а потом уже и сам дизайнер. Можно и отдельными прогами. Вот сейчас думаю отталкиваться от твоего FBManager.
Аватара пользователя
AShen
постоялец
 
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение AShen » 10.04.2008 18:01:53

2 Alexs: такой глупый вопрос - а где брать пакеты FBDemoFPC и UIBLaz? А то они нужны IBManager.
Аватара пользователя
AShen
постоялец
 
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение m_guest » 10.04.2008 18:42:08

http://alexs75.narod.ru/fpc/fbdataset/index.htm
http://www.progdigy.com/modules.php?name=UIB


Патч для UIB 2.0

Я, честно говоря, до сих пор использую именно UIB 2.
m_guest
постоялец
 
Сообщения: 193
Зарегистрирован: 14.08.2005 15:10:21

Сообщение AShen » 10.04.2008 18:46:28

версия UIB любая пойдёт?
2 m_guest: спасибо.
Аватара пользователя
AShen
постоялец
 
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение alexs » 10.04.2008 18:56:33

попробуй - я до последней никак не обновлюсь - может и будет работать
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение AShen » 10.04.2008 19:11:33

Попробую.
Аватара пользователя
AShen
постоялец
 
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение Attid » 10.04.2008 22:35:15

alexs
круть =) я и не знал об этом чуде =)
давно надо было на sf и в проэкты покласть.

хотя у меня и эксперт под линем не плохо сейчас бегает =)

только под разные БД возможно трудновато будет делать некоторые вещи сильно отличаются.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение Сергей Смирнов » 10.04.2008 22:56:00

Плиииз, не надо этот БД-Менеджер в лазаря втыкать - он и так уже несколько секунд грузится. Если нужна простая SQL-запускалка, её и надо сварганить. Кстати, сделать её разнобазовой не сложно, потому как родной SQLDB под это дело как раз и заточен. Засунуть потом можно будет куда-нибудь в меню "Инструменты".
Аватара пользователя
Сергей Смирнов
энтузиаст
 
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва

Пред.След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 99

Рейтинг@Mail.ru