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); /*
QString dsn = QString("Driver={%1};Server=%2;Database=%3;Uid=%4;Password=%5;Port=%6")\
.arg(driver)\
.arg(server)\
.arg(database)\
.arg(54321);
*/ QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName(dsn);
// db.setUserName(username);
// db.setPassword(password); if (db.open())
qDebug() << "connect successful";
else
qDebug() << db.lastError().text(); return 0;
}
  • 运行结果如下:

最新文章

  1. C# 如何提取SaveFileDialog的保存路径
  2. python merry -- error handling in the real world
  3. codeforces B.Fixed Points
  4. MyEclipse------execute()使用方法
  5. 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1-&gt;2-&gt;3-&gt;3-&gt;4-&gt;4-&gt;5 处理后为 1-&gt;2-&gt;5
  6. int * const 与 const int * 的区别
  7. win8 telnet VirtualBox中的redhat9
  8. java输入输出流(内容练习)
  9. Qt 学习之路 :进程间通信
  10. JavaScript面向对象,闭包内存图,闭包和作用域
  11. 首页布局时div的宽度设置要注意
  12. 运行时动态库:not found 及介绍-linux的-Wl,-rpath命令
  13. 学习笔记:webpack深入与实践(一)
  14. 在IDEA中spring程序可以正常运行,但IDE报错Could not autowire.
  15. IDEA 中使用MyBatis-generator 自动生成MyBatis代码
  16. Android开发 - 更&quot;聪明&quot;的申请权限方式
  17. js开关插件使用
  18. MT【193】三面角的正余弦定理
  19. arcgis server 10 for java 8399根目录是404的提示取消,并跳转到 地图目录 /arcgis/rest/services下
  20. IScroll的诞生和缺点

热门文章

  1. [Python] tkinter 之 Listbox &amp; Combobox
  2. 惊奇发现KEIL也可以C++编译了
  3. Oracle和MySQL差异总结
  4. PHP相关session的知识
  5. sql生成可读性逻辑图
  6. CyclicBarrier分析
  7. 微信小程序setdata修改数组或对象
  8. Go语言协程并发---等待组sync.WaitGroup
  9. GO语言常用标准库02---os包
  10. GO语言复合类型03---切片