PDA

View Full Version : SQLite database problem in some SO



anoraxis
7th March 2012, 17:16
I wrote a simple program a few days ago and tested it in some computers without Qt installed. The program works fine. So I delivered the program to a client and he was unable to perform any action related with the database (SELECTs and INSERTs - The program is so simple!!!). I'm using a SQLite database and all the operations are made with QSqlQuery. The database has 3 tables (2 with the actual data and one for the relations). All the fields stores numbers except one that stores a string. The problem was identified in PCs (64 bits) with Win7 and in some WinXP Unnatended editions.

There is some known problem with these SO and Qt+SQLite?

wysota
7th March 2012, 17:26
Did you remember to deploy Qt's sqlite driver on the target machine?

ChrisW67
8th March 2012, 06:55
Did you remember to to test your deployment mechanism before giving to the customer?

anoraxis
12th March 2012, 17:01
Yes, this deployment has been tested. I usually give to the client:

data.db3
app.exe
qtcore.dll
qtgui.dll
qtsql.dll
mingw.dll
lib*.dll (another dll required in Qt 4.7)
sqldrivers/qsqlite.dll

I develop in Ubuntu 10.10, build Windows executables in WinXp SP3 with Qt4.7 (virtual machine) and test on WinXP SP2, WinXP SP3 and Win7 without Qt (these SO on virtual machines). Always works except in this case.

wysota
12th March 2012, 17:55
Does Qt report QSQLITE3 as an available sql driver?

ChrisW67
12th March 2012, 23:54
Yes, this deployment has been tested. I usually give to the client:

data.db3
app.exe
qtcore.dll
qtgui.dll
qtsql.dll
mingw.dll
lib*.dll (another dll required in Qt 4.7)
sqldrivers/qsqlite.dll

They are certainly not the names of the DLLs on my Windows machines. I will assume you have shipped the correct files, i.e. QtCore4.dll, qsqlite4.dll etc.

If data.db3 is your database and it has been installed under the user's Program Files folder with the app it will not generally be writeable on Windows Vista, 7, or 8.
If you are assuming that data.db3 is in the current working directory of the application then it may fail in other environments.