【发布时间】:2014-06-19 05:33:31
【问题描述】:
我正在 Ubuntu 13.10 上开发 Qt-5.0.2。我已经构建了 QODBC 插件,但无法访问数据库服务器。这是我的代码
#include <QCoreApplication>
#include <QtSql>
#include <QtDebug>
#include <QSqlError>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setConnectOptions();
QString dsn = QString("DRIVER={PATH};SERVER=win-l54oh3ekuur;DATABASE=LALCPlanner;UID=webdev;PWD=password;");
db.setDatabaseName(dsn);
if(db.open())
{
qDebug() << "Opened";
QSqlQuery qry;
if(qry.exec("select * from [TestStatus]"))
{
while(qry.next())
{
qDebug() << qry.value(0).toString();
qDebug() << qry.value(1).toString();
}
}
else
qDebug() << "ERROR =" << db.lastError().text();
qDebug() << "Closing!";
db.close();
}
else
{
qDebug() << "ERROR =" << db.lastError().text();
}
return a.exec();
}
这里的{PATH}是我在.bashrc文件“/usr/lib/i386-linux-gnu/qt5/plugins/sqldrivers”中导出的路径
当我运行项目时,错误是:
ERROR = "[unixODBC][Driver Manager]Data source name not found, and no default driver specified QODBC3: Unable to connect"
顺便说一句,代码在 Windows 上运行良好。
【问题讨论】: