Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Программирование под Unix/Linux > Программирование на gtkmm + БД + Linux + Windows |
Автор: UnixBeginner 30.12.2005, 10:32 |
Пишу программу на gtkmm и под Линукс и Винду. Нужно соединиться с какой-нибудь базой, еще не выбрал какой (может поможете с выбором?). Что можно использовать, какие библиотеки дополнительные или стандартные, чтобы все работало и в винде и в линухе? |
Автор: Дмитрий Т 30.12.2005, 22:01 | ||
Собираюсь попробовать MySQL и C++: http://tangentsoft.net/mysql++/ а родной интрефейс у них на C Большой плюс MySQL это хорошая документация (есть переведённая на русский). Лично тестировал вставку записей в MySQL (без транзакций) и в firebird (подтверждая каждую запись) : - MySQL заметно быстрее; - при нажатии на маленькую кнопочку reset ![]() - при повторной загрузке комп. firebird молча работала дальше - даже непонятно, а был ли сбой (хотя записи пропали), а MySQL в логе отмечал наличие сбойной таблицы и для нормальной работы надо было дать команду починки таблицы (на SQL или через служебную утилитку) (в конфиге MySQL надо указать необходимость проверки таблиц при запуске) Oracle мне не нравиться из-за монстрообразности: интрефейс утилит (в виндовс) не озабочен понятливостью, а более менее полную книгу в которой бы было всё что мне нужно, я не встречал - похоже мало кто может такую книгу написать ![]() |
Автор: bilbobagginz 1.1.2006, 05:09 |
давайте не будем советовать человеку выбор базы данных на основе: "пробовал Х, и работало, пробовал Y и не работало, юзай Х." это непрофессионально. есть целый раздел по базам данных. кроме-того есть много неизвестных в задаче: какого рода база данных нужна, какие операции, какая нагрузка и величина записей и т.д. Давай UnixBeginner, рассказывай что ты собираешься делать с базой данных. |
Автор: UnixBeginner 11.1.2006, 22:17 |
Ок, расскажу, правда сам еще точно не знаю что с ней делать. Дело в том, что на работе пишу часть комплекса программ АСУДРП, расшифровывать не буду - в общем автом. система упр. Писать только начал, практически закончена одна программа, в ней необходимо как раз и использовать данные из БД(всего-лишь пару полей.). Но это только одна программ, там еще 6 программ, которые сообтветственно тоже работаю с данными из БД. На работе есть MS SQL Server, но т.к. программа кросс и будет комерческой, то впринципе реально скорее всего будут использоваться разные БД на разных предприятиях. А вот для начала основу не могу выбрать. Вот думаю: какую БД выбрать чтобы впринципе можно было легко перенести данные из SQL Server. Наверное вопрос конечно глупый, тем более что юзать скорее будут разные БД, но хотя бы для начала чтобы попроще было, что выбрать. Конечно для работы с БД должны быть соответствующие быблиотеки как для Linux так и для Windows. |
Автор: Sergey B. 15.1.2006, 08:38 | ||
PostgreSQL межплатформенная... Есть либы и под винду и под линукс. GPL |
Автор: Бонифаций 15.1.2006, 08:49 |
postgres не GPL (и никогда не был GPL). он BSD license |
Автор: bilbobagginz 15.1.2006, 13:31 |
слушай, UnixBeginner, a ты так на вопросы и не ответил.
все 3 перечисленные имеют бинарники и под разл. Юниксовидные системы и под Виндовс... дерзай: http://www.postgresql.org http://www.mysql.com http://firebird.sourceforge.net |
Автор: UnixBeginner 15.1.2006, 13:37 |
ок, спасибо. Кажись вопрос решен, буду юзать то что наиболее простое, а потом уже буду делать под конкретного пользователя. Всем спасибо! |
Автор: Дмитрий Т 18.1.2006, 16:02 | ||
Лучше конечно делать сразу на чём нужно... Возможно самый лучший вариантом была бы MySQL (самое простое) - меньше будет проблем с переносом инф. из MySQL на другие СУБД (нет генераторов и т.п.). Но вот сложную базу из SQL Server загнать в MySQL наверное будет проблематично - это зависит от того что там уже есть... |
Автор: UnixBeginner 18.1.2006, 16:09 |
Впринципе насколько я знаю, в БД нет ничего сложного, нет сложных структур. Да, наверное беде юзать MySQL. Тем более что у меня и библиотека есть. |
Автор: UnixBeginner 19.1.2006, 13:20 |
Кстати, а чем GPL отличается от BSD license? |
Автор: Kagor 31.1.2006, 04:58 |
Основное их отличие в том, что если ты используешь в своей программе код, который распространяется под BSD License, ты можешь не открывать исходники своей программы, а просто обязан упомянуть, откуда ты взял код. Если же ты используешь в своей программе код, распространяющийся под GPL, ты обязан раскрыть исходники своей программы под GPL. |
Автор: Kagor 2.2.2006, 12:54 | ||||
Я в это как-то особо не вникал, так что точно сказать не могу. Спроси лучше по поводу лицензий в разделе по Linux/Unix или в Разных вопросах, т.к. в этой теме это все-таки оффтоп. ![]() |
Автор: Дмитрий Т 11.2.2006, 15:08 |
Насколько знаю, библиотеки и программы лицензируются по разному - надо в каждом конкретном случае смотреть какую лицензию выбрал автор. А общий подход в том что используя открытую библиотеку не нужно открывать свой код, а если взял часть кода чужой открытой программы, то открывай и свою. Смысл в том, что сообщество хакеров (в хорошем смысле этого слова) выкладывает свои наработки для таких же хакеров чтобы облегчить друг другу жизнь, убирая избретение колёса из программирования. Соответственно комерческие организации желающие продавать программы с чужим открытым кодом и не желающие открывать свой чтобы поделиться наработками, должны договариваться с автором об оплате заимствованного кода, иначе на них подают в суд. Если разобраться, то всё честно. |
Автор: UnixBeginner 11.2.2006, 15:15 |
Все правильно это честно. Т.е. получается что независимо от того, под какой лицензией распространяется библиотека или программа, коды которых ты либо используешь или на основе которых ты пишешь свою программу проше всго договориться с автором и не мучиться? |
Автор: bilbobagginz 12.2.2006, 00:14 |
проще 1 раз прочитать ГПЛ и БСД лицензии и не мучать ;) |