Работа с базой данных Topic is solved
Работа с базой данных
Господа! Расскажите кто какие базы использует в своих проектах?
Мне нужно два варианта: Локальный и серверный.
В качестве серверного я уже определился Postgresql.
А вот в качестве локального .... не могу определиться.
Мои требования к базе:
1. Хороший БЕСПЛАТНЫЙ интерфейс для создания структуры.
2. Худо бедно какой то редактор, чтобы запрос написать (как разберусь буду свой редактор делать под Linux)
3. Чтобы конечному пользователю меньше всего ставить...
4. Чтобы можно было удобно работать с базой данных в программе, а то попробовал sqlite а там вообще фигня какая то. Значение возвращается в функцию callback, а в ней с обьектами программы вообще никак работать нельзя.
Буду признателен за ваши мысли.
Мне нужно два варианта: Локальный и серверный.
В качестве серверного я уже определился Postgresql.
А вот в качестве локального .... не могу определиться.
Мои требования к базе:
1. Хороший БЕСПЛАТНЫЙ интерфейс для создания структуры.
2. Худо бедно какой то редактор, чтобы запрос написать (как разберусь буду свой редактор делать под Linux)
3. Чтобы конечному пользователю меньше всего ставить...
4. Чтобы можно было удобно работать с базой данных в программе, а то попробовал sqlite а там вообще фигня какая то. Значение возвращается в функцию callback, а в ней с обьектами программы вообще никак работать нельзя.
Буду признателен за ваши мысли.
-
- Super wx Problem Solver
- Posts: 401
- Joined: Wed Sep 21, 2005 8:17 am
- Location: Rostov-on-Don, Southern Russia
Re: Работа с базой данных
Локальная wxSQLite, Firebird при чем последняя может использоваться и как серверная.midisa wrote:Господа! Расскажите кто какие базы использует в своих проектах?
Мне нужно два варианта: Локальный и серверный.
В качестве серверного я уже определился Postgresql.
А вот в качестве локального .... не могу определиться.
Мои требования к базе:
1. Хороший БЕСПЛАТНЫЙ интерфейс для создания структуры.
2. Худо бедно какой то редактор, чтобы запрос написать (как разберусь буду свой редактор делать под Linux)
3. Чтобы конечному пользователю меньше всего ставить...
4. Чтобы можно было удобно работать с базой данных в программе, а то попробовал sqlite а там вообще фигня какая то. Значение возвращается в функцию callback, а в ней с обьектами программы вообще никак работать нельзя.
Буду признателен за ваши мысли.
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
-
- Super wx Problem Solver
- Posts: 401
- Joined: Wed Sep 21, 2005 8:17 am
- Location: Rostov-on-Don, Southern Russia
Re: Работа с базой данных
Использование функции отклика - устаревшая технология, которая была в SQLite 1-2. В SQLite3 лучше использовать фукнцию sqlite3_prepare() (если инструкция в кодировке UTF-8) или sqlite3_prepare16() (если кодировка UTF-16).midisa wrote:Господа! Расскажите ......
4. Чтобы можно было удобно работать с базой данных в программе, а то попробовал sqlite а там вообще фигня какая то. Значение возвращается в функцию callback, а в ней с обьектами программы вообще никак работать нельзя.
......
Но в wxWidgets лучше использовать обвертку wxSQLite3 или DatabaseLayer обое их можно скачать тут http://wxcode.sourceforge.net
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Re: Работа с базой данных
Вот вот. С этого места поподробнее если можно...Mojo wrote:Использование функции отклика - устаревшая технология, которая была в SQLite 1-2. В SQLite3 лучше использовать фукнцию sqlite3_prepare() (если инструкция в кодировке UTF-8) или sqlite3_prepare16() (если кодировка UTF-16).midisa wrote:Господа! Расскажите ......
4. Чтобы можно было удобно работать с базой данных в программе, а то попробовал sqlite а там вообще фигня какая то. Значение возвращается в функцию callback, а в ней с обьектами программы вообще никак работать нельзя.
......
Но в wxWidgets лучше использовать обвертку wxSQLite3 или DatabaseLayer обое их можно скачать тут http://wxcode.sourceforge.net
wxSQLite3 - это входит в состав wxWidgets или нужно ставить отдельно?
Простите если задаю наверное глупые вопросы т.к. я совершенно не знаю английский язык. Для меня трудно (точнее сказать невозможно) понимать что написано на английском языке.
Я буду Вам очень признателен, за краткое описание последовательности действий по установки wxSQLite3, а так же если можно простой примерчик этой технологии.
А то я уже выбился из сил выбирать базы и т.д.
И еще, вот это: wxSQLite3, с Postgres'ом сможет работать?
-
- Super wx Problem Solver
- Posts: 401
- Joined: Wed Sep 21, 2005 8:17 am
- Location: Rostov-on-Don, Southern Russia
Re: Работа с базой данных
wxSQLite3 ставится и собирается отдельно, это wx-обвертка для SQLite3.midisa wrote:
Вот вот. С этого места поподробнее если можно...
wxSQLite3 - это входит в состав wxWidgets или нужно ставить отдельно?
Простите если задаю наверное глупые вопросы т.к. я совершенно не знаю английский язык. Для меня трудно (точнее сказать невозможно) понимать что написано на английском языке.
Я буду Вам очень признателен, за краткое описание последовательности действий по установки wxSQLite3, а так же если можно простой примерчик этой технологии.
А то я уже выбился из сил выбирать базы и т.д.
И еще, вот это: wxSQLite3, с Postgres'ом сможет работать?
wxSQLite3 с постгресом работать не будет, это обвертка только для SQLIte, для постргреса можно использовать Датабейслейер
Ссылки:
wxSQLite3 http://wxcode.sourceforge.net/components/wxsqlite3/
DatabaseLayer http://wxcode.sourceforge.net/components/databaselayer/
С датабэйслейером я не работал, не могу помочь.
А вот как настроить и пример попытаюсь вспомнить/найти ....
Я сам столкнулся с похожей проблемой... http://forums.wxwidgets.org/viewtopic.php?t=24481
вопрос решил, но с тех пор прошел уже год ничего не помню.....
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
-
- Super wx Problem Solver
- Posts: 401
- Joined: Wed Sep 21, 2005 8:17 am
- Location: Rostov-on-Don, Southern Russia
Вспомнил..... в каталоге с wxSQLite3 есть пример как использовать, так же в DatabaseLayer так же есть пример как его использовать....
так же я воспомнил еще одну библиотеку для работы с базами данных в wxWidgets это Debea http://debea.net/trac
так же я воспомнил еще одну библиотеку для работы с базами данных в wxWidgets это Debea http://debea.net/trac
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Это не пойдет т.к. там нет sql. как я понимаю, он нагромоздил над обычным sql свой интерфейс.Mojo wrote: ...
так же я воспомнил еще одну библиотеку для работы с базами данных в wxWidgets это Debea http://debea.net/trac
Недостатки:
1. Будут тормоза.
2. Без бутылки не разобраться.
3. Зачем изобретать велосипед, в то время когда все уже есть. Как я понимаю это попытка самореализации под флагом "защита от sql иньекций".
Хотя могу ошибаться...
В общем мне не понравилось, после просмотра примеров быстрого старта. Как мне кажется не закончена смысловая задумка.
-
- Super wx Problem Solver
- Posts: 401
- Joined: Wed Sep 21, 2005 8:17 am
- Location: Rostov-on-Don, Southern Russia
Да, проект молодой, непривычный интерфейс работы с базами данных. Ща это модная концепция "NoSQL". Есть свои преимущества и недостатки.... там в принципе тот же SQL просто без ручного ввода запросов и команд.midisa wrote:
Это не пойдет т.к. там нет sql. как я понимаю, он нагромоздил над обычным sql свой интерфейс.
Недостатки:
1. Будут тормоза.
2. Без бутылки не разобраться.
3. Зачем изобретать велосипед, в то время когда все уже есть. Как я понимаю это попытка самореализации под флагом "защита от sql иньекций".
Хотя могу ошибаться...
В общем мне не понравилось, после просмотра примеров быстрого старта. Как мне кажется не закончена смысловая задумка.
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Как Вы говорите "NoSQL", это было еще 15 лет назад... если не раньше. А стоит заметить, что это обычная обертка над sql запросом. они все равно преобразуют весь свой код в sql запрос и передают обычными средствами. Меня возмущает только одно, как вообще этим можно восхищаться? Встречаются сторонники этого всего безобразия. Это как над жавой (Java Sun M..) нагромоздить что то свое и утверждать, что это круче и безопаснее чем сама Java.Mojo wrote:Да, проект молодой, непривычный интерфейс работы с базами данных. Ща это модная концепция "NoSQL". Есть свои преимущества и недостатки.... там в принципе тот же SQL просто без ручного ввода запросов и команд.midisa wrote:
Это не пойдет т.к. там нет sql. как я понимаю, он нагромоздил над обычным sql свой интерфейс.
Недостатки:
1. Будут тормоза.
2. Без бутылки не разобраться.
3. Зачем изобретать велосипед, в то время когда все уже есть. Как я понимаю это попытка самореализации под флагом "защита от sql иньекций".
Хотя могу ошибаться...
В общем мне не понравилось, после просмотра примеров быстрого старта. Как мне кажется не закончена смысловая задумка.
По мне так это бред. Простите за мое открытое мнение. Не могу спокойно смотреть на такие "художества".
Решил для себя, что буду разбираться с Postgres'ом. Буду подключаться к нему и работать только с ним. Под windows у меня программы работают с ним а вот под Linux ... тяжело мне усвоить. Все для меня новое. Не понятно где нужно брать заголовочные файлы, не понятно какие настройки нужно указывать в компиляторе и т.д. в общем буду разбираться.
-
- Super wx Problem Solver
- Posts: 401
- Joined: Wed Sep 21, 2005 8:17 am
- Location: Rostov-on-Don, Southern Russia
Ну последние лет 5 идея NoSQL стала довольно таки популярной.... (судя по количеству статей на эту тему). А вот Java это да, это безобразие, вставлять прокладку-посредника между операционкой и программой и утверджать, что это эффективное решение, конечно глупо.midisa wrote: Как Вы говорите "NoSQL", это было еще 15 лет назад... если не раньше. А стоит заметить, что это обычная обертка над sql запросом. они все равно преобразуют весь свой код в sql запрос и передают обычными средствами. Меня возмущает только одно, как вообще этим можно восхищаться? Встречаются сторонники этого всего безобразия. Это как над жавой (Java Sun M..) нагромоздить что то свое и утверждать, что это круче и безопаснее чем сама Java.
По мне так это бред. Простите за мое открытое мнение. Не могу спокойно смотреть на такие "художества".
Постгрес имеет свои недостатки, для больших вернее для очень больших проектов постгрес хорошее дело, а если проект средний или маленький, то ставить СУБД которая весит под 40 мегов (при том, что сама программа весит мегов 5-10) дело сомнительное.... для средних проектов лучше использовать СУБД Firebirdsql во-первых вес маленький (около 10 мегов) во-вторых можно использовать не только как клиент-сервер, но и вообще сделать встраиваемымой (я уж не говорю, про наличие множества документации на русском языке). Например поплуярный у бухгалтеров пакет Бизнес-Пак использует встраиваемый Firebirdsql (если быть точнее, то отдельный dll-файл в каталоге с программой). Поэтому, мне лично больше импонирует Firebird.midisa wrote:
Решил для себя, что буду разбираться с Postgres'ом. Буду подключаться к нему и работать только с ним. Под windows у меня программы работают с ним а вот под Linux ... тяжело мне усвоить. Все для меня новое. Не понятно где нужно брать заголовочные файлы, не понятно какие настройки нужно указывать в компиляторе и т.д. в общем буду разбираться.
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Я смотрел Firebird когда писал под винду. Что мне не понравилось:Mojo wrote: Например поплуярный у бухгалтеров пакет Бизнес-Пак использует встраиваемый Firebirdsql (если быть точнее, то отдельный dll-файл в каталоге с программой). Поэтому, мне лично больше импонирует Firebird.
1. ODBC драйвера корявые. При попытке получить список таблиц в базе, драйвера сразу висли.
2. Менеджер базы данных корявый. Я создал таблицу и пытаюсь ее переименовать ... а не тут то было. Звоню товарищу, он использует только Firebird. А он говорит так и должно быть. Мы уже к этому привыкли. У нас кто пишет на делфи (он пишел только на делфи), альтернативы другой нет ...
В общем я потратил на рассмотрение этого Firebird два дня ... и когда увидел Postgres, то заплакал от радости.
Если под виндой у Firebird такие косяки, то что говорить о Linux'e.
Честно сказать, у меня нет желания использовать Firebird.
-
- Super wx Problem Solver
- Posts: 401
- Joined: Wed Sep 21, 2005 8:17 am
- Location: Rostov-on-Don, Southern Russia
Ну эт проблемы скорее бизнеспака, чем Firebird.midisa wrote:Я смотрел Firebird когда писал под винду. Что мне не понравилось:Mojo wrote: Например поплуярный у бухгалтеров пакет Бизнес-Пак использует встраиваемый Firebirdsql (если быть точнее, то отдельный dll-файл в каталоге с программой). Поэтому, мне лично больше импонирует Firebird.
1. ODBC драйвера корявые. При попытке получить список таблиц в базе, драйвера сразу висли.
2. Менеджер базы данных корявый. Я создал таблицу и пытаюсь ее переименовать ... а не тут то было. Звоню товарищу, он использует только Firebird. А он говорит так и должно быть. Мы уже к этому привыкли. У нас кто пишет на делфи (он пишел только на делфи), альтернативы другой нет ...
В общем я потратил на рассмотрение этого Firebird два дня ... и когда увидел Postgres, то заплакал от радости.
Если под виндой у Firebird такие косяки, то что говорить о Linux'e.
Честно сказать, у меня нет желания использовать Firebird.
Firebird очень зрелая СУБД, потому, что изначально это был борландовский InterBase, потом переименовали....
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Я говорю о самой обвязке вокруг базы данных Firebird, драйвера, менеджер и т.д. все что я увидел, мне очень не понравилось.Mojo wrote:Ну эт проблемы скорее бизнеспака, чем Firebird.midisa wrote:Я смотрел Firebird когда писал под винду. Что мне не понравилось:Mojo wrote: Например поплуярный у бухгалтеров пакет Бизнес-Пак использует встраиваемый Firebirdsql (если быть точнее, то отдельный dll-файл в каталоге с программой). Поэтому, мне лично больше импонирует Firebird.
1. ODBC драйвера корявые. При попытке получить список таблиц в базе, драйвера сразу висли.
2. Менеджер базы данных корявый. Я создал таблицу и пытаюсь ее переименовать ... а не тут то было. Звоню товарищу, он использует только Firebird. А он говорит так и должно быть. Мы уже к этому привыкли. У нас кто пишет на делфи (он пишел только на делфи), альтернативы другой нет ...
В общем я потратил на рассмотрение этого Firebird два дня ... и когда увидел Postgres, то заплакал от радости.
Если под виндой у Firebird такие косяки, то что говорить о Linux'e.
Честно сказать, у меня нет желания использовать Firebird.
Firebird очень зрелая СУБД, потому, что изначально это был борландовский InterBase, потом переименовали....
Относительно Бизнес пака я промолчу... разговор о бизнес паке, не для этой темы.
P.S. Эту тему можно закрывать. С Postgres'ом разобрался. Если кому будет интересно, то выложу примитивный проект (15 строк), чтобы понять как у него там все это работает и дам описание какие настройки включить в компилятор.
- T-Rex
- Moderator
- Posts: 1248
- Joined: Sat Oct 23, 2004 9:58 am
- Location: Zaporizhzhya, Ukraine
- Contact:
Мне почему-то кажется что в случае клиентской базы + серверной, DatabaseLayer выигрывает во многих местах. Если писать код с умом, то можно ограничиться минимальными переделкам для работы с базой, и просто подменять класс DatabaseLayer'а с SqliteDatabaseLayer на PostgreDatabaseLayer когда надо.
в случае с wxSQLite3 для локальной базы такой гибкости не будет.
ЗЫ: Firebird как-то пробовали для локальной базы... ну.. уж много там странного. Какие-то непонятки с русскими путями и с пробелами в путях... в общем странный он, SQLite постабильнее будет да и пошустрее (ИМХО).
в случае с wxSQLite3 для локальной базы такой гибкости не будет.
ЗЫ: Firebird как-то пробовали для локальной базы... ну.. уж много там странного. Какие-то непонятки с русскими путями и с пробелами в путях... в общем странный он, SQLite постабильнее будет да и пошустрее (ИМХО).