Доступ к БД, работа с БД

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
m1t0z
Knows some wx things
Knows some wx things
Posts: 25
Joined: Sat Aug 16, 2008 9:03 am

Доступ к БД, работа с БД

Post by m1t0z » Mon Nov 03, 2008 8:57 pm

Здравствуйте. Необходимо получить доступ к БД( в частности к MSSQL 2005) для выполнения несложных, тривиальных задач. В wxWidgets, насколько я понял, для этих целей существует связка wxODBC + wxDB. Но в соседней ветки форума( здесь ) узнал, что wx скоро избавится от wxODBC.
В итоге ряд вопросов:

1.Получается библиотека останется без каких либо средств для работы с БД?

2. Стоит ли сейчас использовать wxODBC + wxDB или сразу искать альтернативу?

3. Если альтернативу, то какую? В соседней ветки говорили про Databaselayer. Кто ниб пробовал его? Что то другое?

p.s. На данном этапе пишем проект сугубо под Windows, но в перспективе хотелось бы кроссплатформенное решение( это к ситуации с альтернативными библиотеками работы с БД )

Заранее всем огромное спасибо!

Nikolay
Experienced Solver
Experienced Solver
Posts: 72
Joined: Wed Oct 10, 2007 4:27 am

Post by Nikolay » Tue Nov 04, 2008 7:26 am

Я использую Databaselayer+SQLite в двух проектах, пока только под винду. Проблем нет, хотя ничего более сложного чем несколько простых запросов я не использую.
Best regards, Nikolay
wxWidgets in russian
Small Notes Manager and Clipboard Manager with History written with wxWidgets

User avatar
T-Rex
Moderator
Moderator
Posts: 1188
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Post by T-Rex » Tue Nov 04, 2008 3:04 pm


m1t0z
Knows some wx things
Knows some wx things
Posts: 25
Joined: Sat Aug 16, 2008 9:03 am

Post by m1t0z » Fri Nov 07, 2008 7:47 pm

А что насчет ODBC части Databaselayer?
В соседней теме(здесь) говорилось, что много багов в реализации. Кто сталкивался, прокомментируйте. Спасибо.

User avatar
T-Rex
Moderator
Moderator
Posts: 1188
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Post by T-Rex » Fri Nov 07, 2008 8:49 pm

1. ODBC в DatabaseLayer работает
2. Баги есть, достаточно
3. Берем делаем, если что-то не работает, садимся и правим сорцы.
4. В принципе если с бубном потанцевать то юзабельно.

RomanV
Knows some wx things
Knows some wx things
Posts: 32
Joined: Tue Mar 27, 2007 10:29 am
Contact:

Post by RomanV » Mon Nov 10, 2008 12:30 pm

Интересно, скоро я хотел начинать некоторый, достаточно серьезный проект на wxODBC. Так получается (судя по ссылке выше), что wxODBC просто удалят из 2.9.x и 3.0.x
Так как же надо будет использовать доступ к БД?
Про Databaselayer я знаю, в принципе, работает.

m1t0z
Knows some wx things
Knows some wx things
Posts: 25
Joined: Sat Aug 16, 2008 9:03 am

Post by m1t0z » Mon Nov 10, 2008 3:50 pm

RomanV wrote:Интересно, скоро я хотел начинать некоторый, достаточно серьезный проект на wxODBC. Так получается (судя по ссылке выше), что wxODBC просто удалят из 2.9.x и 3.0.x
Так как же надо будет использовать доступ к БД?
Про Databaselayer я знаю, в принципе, работает.
У меня в этом плане проще - работа с базой минимальна( только вставка данных ), но использовать необходимо MS SQL. А так как времени на это выделенно очень мало, то чтобы не напороться на глюки DatabaseLayer, решил юзать wxODBC( соответственно привязан к 2.8.x, но это вообщем-то и не страшно). А вообще, для себя решил в будущих проектах держать курс на DatabaseLayer + связка с какойнибудь DB НЕ_ODBC типа.

vtararin
Knows some wx things
Knows some wx things
Posts: 37
Joined: Thu May 24, 2007 4:43 pm
Location: Ukraine
Contact:

Post by vtararin » Tue Nov 11, 2008 5:50 pm

Есть продолжение нашего, достаточно большого проекта на связке wxDatabaseLayer + ODBC + MSSQLserver2000.
Это проект уже сейчас использует разные особенности API.

BLOBы: в размерах до 70-80Мб;
DOUBLE: была проблема с запятой;
DATETIME: тоже не безоблачно.

Правда с синхронизацией действий пользователей мы пока не заморачивались, не очень нагруженное приложение.

Пользовать это можно, будут проблемы пишите, патчи вышлю, как обходить расскажу.
cofounder of LogicLand Ltd.
my interest Kamenets-Podolskiy Online

User avatar
T-Rex
Moderator
Moderator
Posts: 1188
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Post by T-Rex » Tue Nov 11, 2008 6:23 pm

По поводу DateTime'ов можно поподробнее? Если юзать PreparedStatement'ы то вроде ж не должно было быть проблем?
SQL строить в коде это ж печально вобще, тогда и появляются проблемы с форматированием.

vtararin
Knows some wx things
Knows some wx things
Posts: 37
Joined: Thu May 24, 2007 4:43 pm
Location: Ukraine
Contact:

Post by vtararin » Wed Nov 12, 2008 7:32 am

T-Rex wrote:По поводу DateTime'ов можно поподробнее?
Проблема в том что ODBC драйверу от мелкософт, длинной параметра даты нужно передать не размер структуры TIMESTAMP_STRUCT, а 23. 23 - это оказывается внутриння длинна хранения временной метки в SQLServer.

Почему так, не спрашивайте, не знаю. Я это в мелкософтовском мануале по ODBC для SQLServer вычитал.

В текущей DatabaseLayer реализации симптомы следующие, дату без времени сохраняет и обрабатывает нормально, время либо обрезает, либо дает ошибку аля "превышена точность".
cofounder of LogicLand Ltd.
my interest Kamenets-Podolskiy Online

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 3816
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Post by ONEEYEMAN » Fri Nov 21, 2008 7:31 pm

Kstati, esli komu to interesno:
Pod *nix/Mac est proekt - nazyvaetsja FreeTDS. Eto biblioteka kotoraja imeet licensiju svobodnogo rasprostranenija i obespechivaet dostup k M$ is pod *nix/Mac.

Biblioteka imeet 2 layera: ODBC i TDS. Poslednij reliz byl sovsem nedavno - 0.83.

Spasibo.

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 3816
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Post by ONEEYEMAN » Fri Nov 21, 2008 7:35 pm

Po povodu wxODBC:
Byl broshen klich - nugny ljudi poddergivajuschie etu biblioteku. V svjazi s tem chto takovyh ne nashlos, ee dropnuli.

Vot tak.

Esli kto-to vozgelaet poddergivat biblioteku v rabochem sostojanii i ne dat ej tiho-mirno umeret, pishite v wx-dev rassylku....

vtararin
Knows some wx things
Knows some wx things
Posts: 37
Joined: Thu May 24, 2007 4:43 pm
Location: Ukraine
Contact:

Post by vtararin » Sat Nov 22, 2008 1:36 pm

ONEEYEMAN wrote: V svjazi s tem chto takovyh ne nashlos, ee dropnuli.
В общем и правильно сделали. Лучше силы потратить на доводку DatabaseLayer.
cofounder of LogicLand Ltd.
my interest Kamenets-Podolskiy Online

User avatar
T-Rex
Moderator
Moderator
Posts: 1188
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Post by T-Rex » Mon Nov 24, 2008 5:35 pm

По поводу FreeTDS... ну, для Postgre/MySQL когда-то пробовал, вроде работает, но чтобы заставить ЭТО собраться и запуститься надо изрядно попотеть, особенно с Code::Blocks. MS SQL Server 2005 у меня на ней так и не взлетел, но вобще как вариант да, можно бы и попробовать если никакие другие средстава не подойдут. Ну и там на сколько я помню API не плюсовый а сишный.

ЗЫ: Есть желающие помочь сделать нормальный рабочий аналог wxARG? А то я уже почти созрел :)

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 3816
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Post by ONEEYEMAN » Mon Nov 24, 2008 5:46 pm

Da net, vse normalno rabotaet.
Kak davno sobiralos? Poslednij reliz byl sovsem nedavno...

Pomimo vsego - kakoj API ispolzovalsja: ODBC, ct-lib ili db-lib?

A naschet Postgre/mySQL - ne znaju. TDS protocol rabotaet pod Sybase/M$ only...

Spasibo.

Post Reply