Russian Qt Forum
Ноябрь 23, 2024, 15:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2 3 4   Вниз
  Печать  
Автор Тема: Qt 4.1.1 Избитая тема про БД  (Прочитано 31851 раз)
Krow
Гость
« : Март 28, 2007, 07:57 »

В общем вопрос заключается в следующем:
т.к. с БД я ещё не связывался то не знаю какой конкретно предпочесть.
Будет БД в которой будет содержаться каталог каких либо продуктов. Нужна такая база которая будет работать без предустановки сервера БД (надеюсь я правильно выразился.) т.е. её не надо будет устанавливать как MySql или FireBird.
Вариант использования обычных тексовых файлов с разделителями для полей и подгружать его при загрузке приложения меня как то мало привлекает.
Думаю суть проблемы я изложил.. Может кто что подскажет? или дайте линк где можно про такое почитать..?
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #1 : Март 28, 2007, 08:20 »

Используй sqlite. В Qt  имеется драйвер qsqlite для работы с этой БД. Все твои требования будут удовлетворены
Записан
Alex03
Гость
« Ответ #2 : Март 28, 2007, 09:00 »

А что это Вы FireBird забраковали?
Есть embedded FireBird в виде отдельной длл-ки/со-шки, предоставляющий монопольный доступ к БД (которая в одном файле) одного приложения. Ну и плюс там нет ограничений для пользователей/ролей и т.д.
ИМХО должно работать со стандартным IB драйвером QT, надо только DLL-ку ({gds32|fbclient}.{dll|so}) подменить.
Записан
_govorilka
Гость
« Ответ #3 : Март 28, 2007, 09:01 »

Цитата: "Krow"
В общем вопрос заключается в следующем:
т.к. с БД я ещё не связывался то не знаю какой конкретно предпочесть.
Будет БД в которой будет содержаться каталог каких либо продуктов. Нужна такая база которая будет работать без предустановки сервера БД (надеюсь я правильно выразился.) т.е. её не надо будет устанавливать как MySql или FireBird.
Вариант использования обычных тексовых файлов с разделителями для полей и подгружать его при загрузке приложения меня как то мало привлекает.
Думаю суть проблемы я изложил.. Может кто что подскажет? или дайте линк где можно про такое почитать..?


Самое простое решение  - используй XML... Он специально для таких целей придуман и с Qt 100% совместим (QDomDocument, QSaxDocument).

Можно использовать Embedded MySQL, но это немного сложнее.
Записан
antipart
Гость
« Ответ #4 : Март 28, 2007, 09:36 »

Цитата: "Alex03"
А что это Вы FireBird забраковали?

ИМХО должно работать со стандартным IB драйвером QT, надо только DLL-ку ({gds32|fbclient}.{dll|so}) подменить.


Просьба поподробнее или ссылку...
не могу никак собрать qt 4.2.0-open-x11 под Linux с поддержкой firebird или хотябы odbc ломается при конфигуре ...
Записан
Alex03
Гость
« Ответ #5 : Март 28, 2007, 10:55 »

Цитата: "antipart"
Просьба поподробнее или ссылку...
не могу никак собрать qt 4.2.0-open-x11 под Linux с поддержкой firebird или хотябы odbc ломается при конфигуре ...


Чтобы собрать драйвер, видимо надо името как минимум либу/инклуды, но проще исходники.
Искать можно тут:
http://www.firebirdsql.org/
http://sourceforge.net/projects/firebird/
И очень полезный ресурс на русском языке:
http://www.ibase.ru

Я под линуксом embedded FB не пользовал, а в готовых сборках по указанным ссылкам чтото я его не вижу, видимо надо самому собирать.
Записан
antipart
Гость
« Ответ #6 : Март 28, 2007, 11:31 »

(qt 4.2.0-opensuorce-x11    Slackware 11)
Firebird у меня установлен (/opt/interbase) ...
правда в процессах я его не вижу (ps -aux) ...
хотя с помощью isql к базе подключаюсь и содержимое вижу...

вопрос как сконфигурить qt с поддержкой firebird...
команда такая ./configure -qt-sql-ibase -I ($FIREBIRD)\include -L ($FIREBIRD)\lib
($FIREBIRD) - путь к корневой директории FireBird (/opt/interbase)

или накрайняк с поддержкой odbc
./configure -qt-sql-odbs - тоже ломается на этапе конфигурации

ошибку не помню , но одна и та же в обоих случаях ....
ща еще  раз запущу и выложу...
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #7 : Март 28, 2007, 11:35 »

а как на XML выполнять SQL запросы?
Записан
antipart
Гость
« Ответ #8 : Март 28, 2007, 11:43 »

g++  -o "/home/artem/qt-x11-opensource-src-4.2.0/bin/qmake" project.o property.o main.o makefile.o unixmake2.o unixmake.o mingw_make.o option.o winmakefile.o projectgenerator.o meta.o qtmd5.o makefiledeps.o metamakefile.o xmloutput.o pbuilder_pbx.o  qchar.o qstring.o qstringmatcher.o qtextstream.o qiodevice.o qglobal.o qbytearray.o qbytearraymatcher.o qdatastream.o qbuffer.o qlistdata.o qfile.o qfsfileengine_unix.o qfsfileengine.o qregexp.o qvector.o qbitarray.o qdir.o quuid.o qhash.o qfileinfo.o qdatetime.o qstringlist.o qabstractfileengine.o qtemporaryfile.o qmap.o qunicodetables.o qmetatype.o qsettings.o qlibraryinfo.o qvariant.o qvsnprintf.o qlocale.o qlinkedlist.o qurl.o  
InterBase support cannot be enabled due to functionality tests!
 Turn on verbose messaging (-v) to ./configure to see the final report.
 If you believe this message is in error you may use the continue
 switch (-continue) to ./configure to continue.
Записан
-=QT=-
Гость
« Ответ #9 : Март 28, 2007, 11:47 »

Для многопользовательских приложений можно использовать PostgreSQL, вещь кроссплатформенная имеющая большую мощь и резервы в использовании, а для локального хранения данных, то что было выше SQLite, XML, .... Показает язык
Записан
SABROG
Гость
« Ответ #10 : Март 28, 2007, 12:23 »

Цитата: "-=QT=-"
Для многопользовательских приложений можно использовать PostgreSQL, вещь кроссплатформенная имеющая большую мощь и резервы в использовании, а для локального хранения данных, то что было выше SQLite, XML, .... Показает язык


PostgreSQL мощнее MySQL, в чем его преимущества ?

С XML работать сложнее чем с sqlite, писанины больше. Я кстати до сих пор не могу понять зачем люди используют текстовое представление данных в почте, протоколах, настройках. Я так понимаю, что в надежде на то, что какой-то продвинутый пользователь полезет их менять вручную. На деле врятли кто уходит дальше использования мышки и кликов по батонам, а настоящие девелоперы и с двоичным протоколом и форматом данных справятся.
Записан
Krow
Гость
« Ответ #11 : Март 28, 2007, 13:33 »

Цитата: "Mikhail"
Используй sqlite. В Qt  имеется драйвер qsqlite для работы с этой БД. Все твои требования будут удовлетворены

спс. гляну что это такое и с чем его едят.
Alex03 -> FireBird Embedded не нашёл.
Согласен с Admin, как делать Sql запросы в XML. к тому же xml не чем не лучше имхо обычных текстовых файлов с разделителями типа *.csv.
_govorilka спс. почитаю на эту тему.
Записан
-=QT=-
Гость
« Ответ #12 : Март 28, 2007, 13:48 »

Спор о преимуществах СУБД можно вести очень долго. Определенный набор СУБД решает определенные проблемы (извиняюсь за каламбур), но в итоге одни СУБД проектируются для Web другие для локального использования, третие для корпоративных приложений, и так далее. А так каждый кулик своё болото хвалит. Хотя я высказываю только своё собственное мнение, а анализ и принятие решения всегда остается за тем кто задал вопрос. Крутой  :!:
Записан
SABROG
Гость
« Ответ #13 : Март 28, 2007, 13:53 »

Вот так все и отвечают. У нас сейчас стоит MSSQL, думаем выбрать SQL сервак, который будет работать под FreeBSD. В базе сейчас 10 млн. записей для каждой из 6 реляционных таблиц (60 млн в итоге), каждый день несколькими пользователями добавляется в среднем по 200-300 тысяч записей.
Есть сайт с php скриптом который обращается к этим 6 таблицам, по сути скрипт обычный поисковик по базе. Вот и думаем в какую сторону смотреть "Слоник", "Дельфин" или "Оракл"...
Записан
-=QT=-
Гость
« Ответ #14 : Март 28, 2007, 14:05 »

База имеет более 300 таблиц 150, а может и больше сейчас имеют размеры по 2ГБ
всё на Фоксе таблицы сборные т.е. таблица номенклатуры складывается из 5-6 ти таблиц по 2ГБ и далее вообщем мрак полный, из всех субд в которые закачивали данные выдержал только Постгресс остальные по запросам или не шевелились вообще или с большим скрипом (FB, MySQL, Linter) хотя всё относительно.
Я встречал админа у которого база с 25ТБайт и таблицы в 600-800ГБайт, а запросы проходили в пределах 0,6-0,9сек.
Записан
Страниц: [1] 2 3 4   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.051 секунд. Запросов: 23.