• Qt通过ODBC连接openGauss数据库



    前言

    本文就介绍了Qt通过ODBC连接opengauss数据库的基础内容。


    一、Qt链接测试

    1.测试代码

    在.pro文件中添加一行引入

    QT += sql
    
    • 1

    添加如下测试代码

    QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
        QString dsn = QString::fromLocal8Bit("openGauss");//你配置的Data Source
        qDebug()<<"ODBC connect?"<
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    2.测试效果

    在这里插入图片描述
    说明成功连接openGauss数据库

    二、环境搭建

    1.通过ODBC连接openGauss数据库

    什么是ODBC
    ODBC(Open Database Connectivity,开放数据库互连)是由Microsoft公司基于X/OPEN CLI提出的用于访问数据库的应用程序编程接口。应用程序通过ODBC提供的API与数据库进行交互,增强了应用程序的可移植性、扩展性和可维护性。
    在这里插入图片描述

    2. 环境测试

    2.1.保证opengauss数据库运行正常
    如下:
    在这里插入图片描述
    2.2下载opengauss的ODBC
    (这里选择的是openEuler_x86_64版本的),下载地址

    链接:https://pan.baidu.com/s/1aEbIgay2edPHphv8iafxnQ?pwd=yiik 
    提取码:yiik
    
    • 1
    • 2

    2.3 安装ODBC
    解压我们下载的ODBC安装包,然后按照如下路径找到psqlodbc_x64.msi,双击点击安装,然后一路next即可。
    在这里插入图片描述
    2.4.设置ODBC数据源
    在windows设置中搜索ODBC,选择设置ODBC数据源(64位)
    在这里插入图片描述
    选择添加,选择postgres数据库,点击完成。
    在这里插入图片描述
    填写数据库相关信息。Data-source为你的连接名(随便起一个即可),database为你要连接的数据库名,需要与现有的数据库名相同,server是数据库所在ip地址,port为数据库所在端口(7654),username为数据库使用用户,password为用户密码(与用户名对应),其余设置默认即可。
    在这里插入图片描述
    点击test进行连接测试。
    在这里插入图片描述
    出现连接成功的提示,点击确定并save连接即可。

    2.5、qt-opensource-windows-x86-5.14.2.exe(安装过程中必须包含MinGW64

    三、Qt通过ODBC操作数据库

    1.查询数据

    //查询数据库中所有表的名称
        QStringList tables = db.tables();
        foreach(QString table, tables)
            qDebug()<
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    1.插入数据

    //ODBC插入数据
        result.clear();
        bool result_successed = result.exec("insert into users(name,password,score) values ( 'joe2y','123456',0)");
    
        if(result_successed){
            qDebug()<<"插入成功!";
        }else {
            qDebug()<<"插入失败!";
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    3.更新数据

    //ODBC插入数据
        result.clear();
        bool result_successed = result.exec("insert into users(name,password,score) values ( 'joe2y','123456',0)");
    
        if(result_successed){
            qDebug()<<"插入成功!";
        }else {
            qDebug()<<"插入失败!";
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    总结

    以上就是今天要讲的内容,如果Qt通过ODBC连接opengauss数据库不成功,可能的原因:

    • Qt 的MinGW选的不是64位的
    • ODBC没有按照要求配置
  • 相关阅读:
    UWP与WPF:微软两大UI框架
    3┃音视频直播系统之浏览器中通过 WebRTC 直播视频实时录制回放下载
    .Net中字符串不变性与相等判断的特殊场景
    Apache HTTPD (CVE-2017-15715)换行解析漏洞复现
    Pro_07丨波动率因子3.0与斜率因子
    SQL Server 安装后,服务器再改名,造成名称不一致,查询并修改数据库服务器真实名称
    VisualStudio 制作Dynamic Link Library动态链接库文件
    记录一次久远git仓库迁移
    【剑指 Offer 10- I. 斐波那契数列】
    23种设计模式(二十三)访问者模式(阁瑞钛伦特软件-九耶实训)
  • 原文地址:https://blog.csdn.net/qq_34623621/article/details/128132434