首页 > 解决方案 > 指定的 DSN 包含驱动程序和应用程序 QODBC3 之间的体系结构不匹配:无法连接”

问题描述

我正在尝试将我的 QT 应用程序连接到已安装 Oracle 11g 和 Oracle 即时客户端 19.9 的 Oracle 数据库。我以我认为正确的方式配置了我的数据源我将我的 env 变量添加到了 PATH

odbc 32 配置:
odbc 32 配置

这是我的代码功能

bool db_connection::connect(){
    bool test=false;
    QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
    db.setDatabaseName("projetQT");
    db.setUserName("admin");//inserer nom de l'utilisateur
    db.setPassword("****");//inserer mot de passe de cet utilisateur


    if (db.open())
    test=true;

    else
           qDebug()<<db.lastError().text();
           qDebug() << "Connexion FAILED.";
           qDebug() << "Driver disponible: " << db.drivers();
           qDebug() << "Driver fonctionnel(QODBC): " << db.isDriverAvailable("QODBC");
           qDebug() << "database erreur: " << db.lastError().databaseText();
           qDebug() << "driver erreur: " << db.lastError().driverText();
           qDebug() << "type erreur: " << db.lastError().type();



        return  test;
}

我收到错误“指定的 DSN 包含驱动程序和应用程序 QODBC3 之间的体系结构不匹配:无法连接”有人有解决方案吗?

标签: c++oracleqtodbc

解决方案


Microsoft ODBC for Oracle 驱动程序已弃用多年,不再适用于 Oracle 客户端 18 或更高版本。

使用 Oracle ODBC 驱动程序,例如用于 Microsoft Windows (x64) 64 位的即时客户端下载或用于 Microsoft Windows 32 位的即时客户端下载

在此处输入图像描述


推荐阅读