Is it not possible to open M.S. access file?
-
i already tried downloaded and intalled the drivers, even though i have M.S Office installed on my computer. But getting the same error.
-
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. -
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.
-
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;
}