Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: QODBC+*.mdb+Linux
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Модель/Представление
RazrFalcon
Это вообще реально?
Есть элементарная программка.
На вин работает, на linux уже нет.
qDebug()<<QSqlDatabase::drivers();
("QSQLITE", "QSQLITE3", "QODBC3", "QODBC")

Ошибка:
QSqlDatabasePrivate::database: unable to open database: "[unixODBC][Driver Manager]Data source name not found, and no default driver specified QODBC3: Unable to connect"

Гружу так:
db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ="+selectedFile);
Tonal
Нужен пакет mdbtools. Вроде по описанию включает драйвер odbc.
RazrFalcon
Никакого эффекта... :(

app-office/mdbtools-0.6_pre2-r3 USE="odbc -gnome -static-libs"
x11-libs/qt-sql-4.8.0-r1 USE="exceptions odbc qt3support sqlite (-aqua) (-c++0x) -debug -firebird -freetds -mysql -pch -postgres (-qpa)"
+
dev-db/unixODBC-2.3.1


PS: gentoo x86-64
Tonal
Ну дык настрой/проверь подключение через утилиты odbc, а уж потом с драйвером Qt разбирайся.
Вот это гугля выдаёт на mdbtools odbc gentoo
http://www.webmasterworld.com/forum112/179.htm
http://vampirus.ru/code/odbc-msaccess-i-prochaya-nechist/
RazrFalcon
$ cat /etc/unixODBC/odbc.ini 
[myConnection]
Description = Microsoft Access Database of Reservas
Driver = MDBToolsODBC
Database = /home/razr/111.mdb
Servername = localhost
UserName =
Password =
Port = 5432

$ cat /etc/unixODBC/odbcinst.ini
[MDBToolsODBC]
Description = MDB Tools ODBC drivers
Driver = /usr/lib/libmdbodbc.so
Setup =
FileUsage = 1
CPTimeout =
CPReuse =
UsageCount = 1

$ isql -v myConnection
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>



Но в Qt все так же...
QSqlDatabasePrivate::database: unable to open database: "d
QSqlDatabasePrivate::database: unable to open database: "d
select row = 0

*ошибки какие-то корявые, кодировка что ли чудит*
Tonal
Текст ошибки, скорее всего, приходит в текущей системной кодировке. Впрочем, может и в каких-нибудь чисто виндовых придти.
Попробуй попереключать кодировку.
Ну и посмотри в исходники драйвера - оченна помогает понять что и куда. :)

П. С. Что-то обсуждение никакого отношения к Model/View не имеет. Перенести бы его в Qt Разработка баз данных, глядишь ещё кто-нибудь бы с советами подтянулся. :)
RazrFalcon
Цитата(Tonal @ 15.3.2012, 6:59) *
Ну и посмотри в исходники драйвера - оченна помогает понять что и куда. :)

Ну это уже перебор. Временно переключился на sqlite, до лучших времен.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.