码迷,mamicode.com
首页 > 数据库 > 详细

QT 之 ODBC连接人大金仓数据库

时间:2021-05-24 16:22:41      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:取数   drive   esc   ***   img   server   info   pen   else   

QT 之 使用 ODBC 驱动连接人大金仓数据库

获取数据库驱动和依赖动态库

  • 此操作可在人大金仓官网下载与系统匹配的接口动态库,或者从架构数据库的源码中获取驱动和依赖动态库
  • 分别为:
驱动动态库:kdbodbcw.so
依赖动态库:libkci.so.5

安装 odbcinst 软件

sudo apt install odbcinst -y
  • 配置驱动文件 /etc/odbcinst.ini 如下:
[KingbaseES]
Description                     = KingbaseES Driver
Driver                          = /opt/KingbaseES/kdbodbcw.so
Setup                           = /opt/KingbaseES/libkci.so.5
Debug                           = 0
CommLog                         = 1

使用QT进行连接数据库,代码如下:

#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlError>
#include <QtCore/QDebug>

int main(void)
{
        QString driver          = "KingbaseES";   // 此名称和 odbcinst.ini 中的名称相同【KingbaseES】
        QString server          = "IP Address"; 
        QString database        = "TEST";
        QString username        = "***";  // 用户名
        QString password        = "***";  // 密码
        QString dsn = QString("Driver={%1};Server=%2;Database=%3;Uid=%4;Password=%5;Port=%6")                                  .arg(driver)                                  .arg(server)                                  .arg(database)                                  .arg(username)                                  .arg(password)                                  .arg(54321);

        QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
        db.setDatabaseName(dsn);

        if (db.open())
                qDebug() << "connect successful";
        else
                qDebug() << db.lastError().text();

        return 0;
}
  • 运行结果如下:
    技术图片

QT 之 ODBC连接人大金仓数据库

标签:取数   drive   esc   ***   img   server   info   pen   else   

原文地址:https://www.cnblogs.com/xklsm/p/14785591.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!