Is it not possible to open M.S. access file?
-
Hi @rockon209
the QtCompany had the idea to do not distribute the binarys for the ODBC driver anymore. That was in Version 5.5 and 5.6 I think. I initiated a discussion about it. The result was that the driver should be integrated again. I dont know if this is in 5.7 really the case.Look if you have in the path like C:\Qt2\5.6\msvc2015\plugins\sqldrivers
the qsqlodbc files. -
Hello @rockon209,
oh I am happy :-)Now your Problem:
It must work ! I use it since 1 year.We must find the error systhematic.
First you should try a connection via the windows Windows-ODBC tool.
I there is something wrong we must not look on Qt. -
@Andy314
How to do that bcoz i new to this database access. I dont know how it works. Could you help me?Hi @rockon209
Search in Windows for "ODBC".
Open the Program, dont know the english name. Something like "ODBC-Datasource 32-bit"
Tabpage Drivers: Is there a entry like Microsoft Access Driver (*.mdb, *.accdb) ?more later...
-
@Andy314
How to do that bcoz i new to this database access. I dont know how it works. Could you help me?Hi.
Perhaps, you have a very minor problem.
Compare the connection strings below.db.setDatabaseName("Driver={Microsoft Access Driver(*.mdb, *.accdb)}; DBQ=C:/MyFolder/Database1.accdb;"); // It's not OK!
db.setDatabaseName("Driver={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=C:/MyFolder/Database1.accdb;"); // It's OK!
The ODBC driver is installed by default on Windows.
-
Hi.
Perhaps, you have a very minor problem.
Compare the connection strings below.db.setDatabaseName("Driver={Microsoft Access Driver(*.mdb, *.accdb)}; DBQ=C:/MyFolder/Database1.accdb;"); // It's not OK!
db.setDatabaseName("Driver={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=C:/MyFolder/Database1.accdb;"); // It's OK!
The ODBC driver is installed by default on Windows.
-
ok thank you very much guys it worked i was not using the proper syntax.
Thank you very much.Go in the ODBC tool to the File-DSN tab.
Top right button like Add or Create new
choose the Access odbc driver -> click >>
as next set a filename -> click >>
next windows choose a *.accdb file
ready -> you have a DSN file which defines the connection.I thought the ODBC tool has a function to test this connection directly, but it has not. So a file.dsn testing program would be nice ....
I found out a testing methode with Excel Data Tab->Extern Data -> Data connection Assistant -> ODBC DSN -> and choosed the pervious integrated dsn-file.Nevertheless you should use the content of this file as the connect string in Qt.
only DRIVER and DBQ are important here.and you should check in Qt:
```
bool ok=QSqlDatabase::isDriverAvailable("QODBC");
if(!ok)
{
ErrorMsg="No ODBC driver available!";
return 1;
}