当前位置:网站首页 > 数据科学与大数据 > 正文

oierdb数据库(odbc数据库)



本章节详细介绍 QT QODBC 数据库编程连接,QT 为数据库编程提供了一个类似 JDBC 的统一操作模型,它的底层是具体数据库或数据库接口的插件,由它们负责完成真正的数据库操作。可进入达梦云适配中心下载试用下载 QT 接口源码。

QT 自带 QODBC Driver,在 Windows 平台上通过系统提供的 ODBC Driver 可以访问支持 ODBC 的数据库,如 Ms Access、SQL Server 等( Windows XP 自带 Access 和 SQL Server 的 ODBC Driver)。开发者通过 QODBC 接口连接 DM 数据库。

名称 版本 DM 数据库 DM 8.0 及以上版本 QT 5.12.1

请参考数据库环境准备。

下载链接:https://download.qt.io/archive/qt/

请参考 通过 ODBC 连接数据库 章节。

  1. 首先进入 qt 源码目录中修改 qsqldriverbase.pri 文件,将 include 部分修改为下图所示内容。

image.png

image.png

  1. 修改 qt 源码目录中的 odbc.pro 文件,注释 。

image.png

image.png

  1. 在/data/Qt5.12.1/5.12.1/gcc_64/bin 下执行。INCLUDEPATH 和 LIBS 的查找方式如下:

image.png

 

会在该目录下生成 Makefile 文件,执行 make 即可生成 libqsqlodbc.so,将此动态库复制到 qt 目录下的 sqldrivers 目录下即可正常使用 qodbc 接口对达梦进行操作。

QODBC 通过 ODBC 接口登录登出示例程序 qt_conn.c 如下:

 

2、运行示例截图:

image.png

  1. QODBC 通过 ODBC 接口增、删、改、查四个基本操作,示例程序 qt_dml.c 如下:
 
  1. 运行示例截图:

image.png

  1. QODBC 通过 ODBC 接口绑定变量示例程序 qt_bind.c 如下:
 
  1. 运行示例截图:

image.png

  1. QODBC 通过 ODBC 接口大字段操作包括大字段的插入,查询等。示例程序 qt_lob.c 如下:
 
  1. 运行示例截图:

image.png

  1. 首先尽可能使用源码安装的完整版 qt,否则会缺失基础的 libqsqlodbc.so,如果没有安装源码的情况下使用系统自带的 qt,要注意直接下载的源码 src 版本也要和现有 qt 版本一致,否则会出现头文件缺失等问题,该问题是目录结构不匹配导致;
     
  2. 保证 odbc 服务名能够正常进行 isql 测试,否则根据 isql -v dsn 来判断具体原因,大部分都是因为环境变量配置错误导致 libdodbc.so 动态库依赖缺失,arm 平台编译安装 unixodbc 注意加上--build=arm-linux;
  3. 避免系统中安装多版本 qt,会导致环境混乱,libqsqlodbc.so 或者 libqsqldm.so 动态库放入 qt 的 sqldrivers 目录中还是无法识别为可用驱动,driver not loaded,可通过临时 export QT_DEBUG_PLUGINS=1 该窗口下运行程序会打印出具体 qt 的插件 debug 信息,从中看是否从正确的目录搜索到了对应动态库,另外对应动态库是否被识别为 plugins,否则需要去考虑 qt 环境方面问题;

image.png

  1. pro 文件中需要加上 qt+=sql 否则无法识别驱动;
  2. 尽量使用 root 用户打开 qtcreator,避免其他用户环境变量问题导致无法识别一些依赖组件;
  3. qt 中 kit 套件、数据库、odbc 位数需要保持一致。
  1. 示例代码下载:qt_qodbc_code.zip。
  2. 以上文档内容参考过程中遇到任何问题,可到 达梦技术社区 提问交流。
到此这篇oierdb数据库(odbc数据库)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 自动驾驶数据服务(自动驾驶数据服务是什么)2025-02-17 14:27:06
  • cmip6模式下载(cmip6数据使用方法)2025-02-17 14:27:06
  • 自动驾驶数据标注工作内容怎么写(自动驾驶数据标注员)2025-02-17 14:27:06
  • 达梦数据库连接方式(达梦数据库使用)2025-02-17 14:27:06
  • 自动驾驶数据集有哪些(自动驾驶 数据集)2025-02-17 14:27:06
  • 单向链表和双向链表的数据结构(单链表和双向链表的区别)2025-02-17 14:27:06
  • jvm内存模型和运行时数据区(jvm内存模型和jvm内存结构)2025-02-17 14:27:06
  • 学术数据库官网(学术数据库官网查询)2025-02-17 14:27:06
  • 学术数据库有哪些(国内专业学术数据库)2025-02-17 14:27:06
  • 自动驾驶数据(自动驾驶数据处理项目)2025-02-17 14:27:06
  • 全屏图片