Hi,

I am currently trying to make a small portfolio managing application 
using Qt4.3.3 + mysql-5.1. I wanted to use Mysql embedded rather then 
full server. I recompiled the qt mysql driver for using mysql  embedded 
as explained in the Qt manual (qassistant) and the driver compiled 
successfully. I installed the newly compiled driver at its appropriate 
location. Now when I start my application, I get the following error......

080201 14:10:06  InnoDB: Operating system error number 13 in a file 
operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name /var/lib/mysql/ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.

Actually I don't know how to use this driver.... or rather I should say 
that how to use the embedded MySQL system. Am I supposed to copy the any 
files within my application project directory. I tried to search on the 
net, but couldn't find much to continue. In my main.cpp (where I 
initialise the mysql server connection), I commented the connection 
parameters that are used when using the mysql server.

My main.cpp looks like this.....

///////////main.cpp/////////////////

#include <mainmenu.h>
#include <QSqlDatabase>
#include <QSqlError>
#include <QMessageBox>

int main(int argc, char *argv[]){
        QApplication app(argc, argv);
        QSqlDatabase mdb = QSqlDatabase::addDatabase("QMYSQL");
        /*mdb.setHostName("localhost");
        mdb.setDatabaseName("portfolio");
        mdb.setUserName("rajen");
        mdb.setPassword("somePassword");*/
        if (mdb.open()){
                QString success = "Success!!";
                QString con = "Connection Successful.";
                QMessageBox *mbox = new QMessageBox(QMessageBox::Information, 
success, 
con,            QMessageBox::Ok);
                mbox->exec();
        }
        else {
                QMessageBox::critical(0, QObject::tr("Database Error"), 
mdb.lastError().text());
        }
        MainMenu *main = new MainMenu(&mdb);
        main->show();
        return app.exec();
}

///////////main.cpp/////////////////

Any guidance or some links on the net would be helpful.
Regards,
Rajen.
-- 
http://mm.glug-bom.org/mailman/listinfo/linuxers

Reply via email to