Здрасте Товарищи ! Я вот сейчас к своей программе подключаю базу данных. Я пишу объемник, с использованием OpenCascade и хочу чтобы данные о моделях и каталогах хранились в базе данных, также для учета клиентской базы.
У меня сейчас уже есть база данных отлаженная, только она написана на MS Access. Из под Wine'a все это прекрасно работает и экспорт-импорт файлов в формате dBase из под Access'a срабатывает DoCmd.TransferDatabase
А в QT насколько я понимаю нет драйвера для доступа к базам данных dBase.
Вот что умеет выставлять MS Access.
dBase III
dBase IV
dBase 5.0
Paradox 3.x
Paradox 4.x
Paradox 5.x
Paradox 7.x
ODBC Databases
WSS
Может быть кто посоветует, какой из этих форматов можно прикрутить для использования в QT приложении ??? При этом я абслолютно не дружу с ODBC. потому как под Wine'ом его тяжело отладить. И еще я не хочу переписывать базу данных /~12Мб/ .
Заранее спасибо за помощь!
и еще вот такой глупый вопрос
Paradox 7.x не то же самое что Oracle 7.x
т.е. драйвер QOCI сможет его проглотить или нет ???
Я так понял, тебе нужен импорт dbf файлов? Если да, то у меня есть класс, работающий с dbf, правда пока только на чтение. Если нужно, обращайся.
Есть библиотеки работающие с dbf-ом напрямую.
Я использую подправленную Xbase64 3.1.2. Правда собирал её только mingw под виндой.
Ну и если данные простые (без блобов), можно налабать утилитку на python + http://pyobject.ru/projects/YDbf/ для конвертации в нужный тебе формат и обратно.
Ну и неужели, OpenCascade не умеет обмениваться по CSV или XML - тогда бы можно было вообще без гиммора с dbf-ками обойтись.
Друзья, спасибо за Ваше активное участие в теме !
Я и вправду много чего нашел по этому поводу !
Во-первых !
Есть драйверы ODBC для любой из баз данных
нашел тут: http://www.easysoft.com/
После регистрации дает качать. работает только с unixODBC
Делаю так: sudo ODBCconfig добавляю системный DNS и пошел.
И ЧТО САМОЕ ИНТЕРЕСНОЕ. есть драйвера под все извесные базы данных и даже под ACCESS (!!!) 97-2007 версии.
Но на этом я не остановился.
Нашел более легковесное решение:
В Windows/Wine устанавливаю sqliteodbc.exe . Беру его здесь:
http://www.ch-werner.de/sqliteodbc/sqliteodbc.exe
Эта вещь отменная предоставляет сразу 3 интерфейса :
SQLite Datasource
SQLite UTF-8 Datasource (! уже UTF8 !!!)
SQLite3 Datasource - по-умолчанию также UTF8
далее в ACCESS DoCmd.TransferDatabase acExport, "ODBC", "ODBC;DSN=SQLite3 Datasource; DATABASE=имя_и_путь_к_базе", acTable, "имя_отправляемой_таблицы", "имя_созданной_таблицы", False
И после этого уже в QT пользую готовый интерфейс без каких либо ODBC, при этом UTF8 рабоет ! ! !
Об этом уже подробнее Макс Шлее пишет.
P.S. ненавижу ACCESS 2007 !
А зачем с SQLite через ODBC работать?
Ничё не понял, а это тем более:
Хе ! Дело в том что я не программист, это мое хобби, я уже 4 года занимаюсь написанием своей проектировочной программы.
И к сожалению времени нет на полное изучение лицензии и QT в целом.
Вот многоуважаемый Жасмин Бланшет пишет, что нужно для использования QT в своих программах его купить, либо распространять программы в открытом исходном коде. То же самое на сайте qt.nokia.com.
Может быть я не так понял конечно
Я вот с одним знакомым разговаривал сегодня. Так вот он мне сказал: давай 10 тыс рублей и патент твой. У нас ведь в стране нет патентов на конкретные алгоритмы и коды. Назовы классы QT - PT или MT и пиши себе спокойно. Патент у тебя уже в кармане... Не знаю, не сталкивался с лицензированием ни разу.
В любом случае, если я не прав, поправьте меня.
Ты не прав. Смотриhttp://qt.nokia.com/products/licensing. Есть три лицензии: коммерческая, GPL и LGPL (появилась с версии 4.5, книга Бланшет старее и не отражает этих изменений). С коммерческой все ясно - хочешь закрывай код, хочешь открывай. С GPL тоже все просто - код должен быть открыт. LGPL хитрее - ты можешь закрыть код своей программы если не будешь линковаться с библиотеками Qt статически, при этом все изменения в самой библиотеке (если они есть) ты должен открыть.
Спасибо за информацию. Я вообще не сторонник статических сборок в принципе.
Никогда этого не пользовал. Т.е. как я понимаю, я могу писать свою программу, используя все достоинства QT без каких-либо скрытий того.
Это здорово. Потому что Standard_C меня вообще не вставляет. К тому же для каждой платформы подбирать код невозможно долго.
СПАСИБО ЗА СОВЕТ. Вообще, тема интересная с лицензированием. Promt дает кривой перевод этой LGPL. Думаю у нас тоже должны быть подобные лицензии.
JuryS1806, тема лицензирования уже поднималась на форуме. Если кратко, то так:
используй Qt 4.5. и выше, используй стандартную сборку, (т.е. DLLки Qt, для виндовоза) не меняй исходники Qt и пиши любую программу, в том числе с закрытыми исходниками.
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)