Problème pour faire fonctionner l'exemple de base avec PostgreSQL sur Ubuntu 10.04
Bonjour,
J'essaie de faire fonctionner l'exemple avec la table 'drug'. Je parviens à compiler un executable qui ne doit pas être correct car il ne fonctionne pas.
J'ai simplement modifié l'exemple pour qu'il utilise une base postgreSQL.
Voici le code que j'ai modifié dans main.cpp:
Code:
1 2 3 4 5 6 7 8
|
// Init parameters to communicate with a database
qx::QxSqlDatabase::getSingleton()->setDriverName("QPSQL");
qx::QxSqlDatabase::getSingleton()->setDatabaseName("ctAr");
qx::QxSqlDatabase::getSingleton()->setHostName("localhost");
qx::QxSqlDatabase::getSingleton()->setUserName("postgres");
qx::QxSqlDatabase::getSingleton()->setPassword("postgres");
qx::QxSqlDatabase::getSingleton()->setPort(5432); |
Et voici ce que je recoit comme erreurs a l'execution:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| ubuntu@ubuntu-desktop:~/dev/testQxOrm/src$ g++ *.cpp -I ../include -I /home/ubuntu/dev/tools/QxOrm/include -I /usr/share/qt4/include -L/home/ubuntu/dev/tools/QxOrm/lib/ -lQxOrm
ubuntu@ubuntu-desktop:~/dev/testQxOrm/src$ locate libQxOrm
/home/ubuntu/dev/tools/QxOrm/lib/libQxOrm.so
/home/ubuntu/dev/tools/QxOrm/lib/libQxOrm.so.1
/home/ubuntu/dev/tools/QxOrm/lib/libQxOrm.so.1.2
/home/ubuntu/dev/tools/QxOrm/lib/libQxOrm.so.1.2.1
ubuntu@ubuntu-desktop:~/dev/testQxOrm/src$ ./a.out
[QxOrm] qx::QxSqlDatabase : create new database connection in thread '-1215686352' with key '{477a3b29-d291-4bd4-b121-66448a120a84}'
[QxOrm] execute sql query failed : CREATE TABLE drug (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT, desc TEXT)
QPSQL: Unable to create query
ERROR: syntax error at or near "AUTOINCREMENT"
LINE 1: ...REATE TABLE drug (id INTEGER NOT NULL PRIMARY KEY AUTOINCREM... |
Cela veut dire que QxOrm genere du code SQL non compatible avec postgresql. J' ai builde la lib dans qt, en suivant l' explication a cette page:
http://developer.qt.nokia.com/doc/qt...ver.html#qpsql
Apres avoir compile boost et QxOrm.
Auriez-vous une idee sur ce comportement ?
Merci beaucoup,
Ludovic