最近有个大作业需要使用QT通过ODBC连接MYSQL,按网上配置后一直连接失败,折磨了我几个小时,输出错误提示:
error open database QSqlError(“0”, “QODBC3: Unable to connect”, “[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配”)
后来突然发现我MYSQL下载的是32位,而ODBC是64位,所以出现不匹配情况,然后我下载了一个32位的ODBC,在32位ODBC上再重新创建数据源,终于连接成功!
打印数据库连接失败信息代码如下:
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setHostName("127.0.0.1");
db.setPort(3306);
db.setDatabaseName("sqlqt");
db.setUserName("root");
db.setPassword("123");
bool ok = db.open();
if (ok){
QMessageBox::information(this, "infor", "success");
}
else {
QMessageBox::information(this, "infor", "open failed");
qDebug()<<"error open database"<<db.lastError();//这条代码打印错误信息
}