当前位置: 首页 > news >正文

Qt5.4.1连接odbc驱动操作达梦数据库

Qt5.4.1连接odbc驱动操作达梦数据库

  • 1 环境介绍
  • 2 Qt5.4.1 安装
    • 2.1 图形化界面安装Qt5.4.1
    • 2.2 配置Qt5.4.1 环境变量
    • 2.3 Qt5.4.1 生成 libqsqlodbc.so 并配置
      • 2.3.1 生成Makefile
      • 2.3.2 查看 libqsqlodbc.so 文件并配置
  • 3 配置Qt测试用例
  • 4 达梦数据库学习使用列表

1 环境介绍

  • CPU : x86/c86
  • 操作系统 : 麒麟V10 (SP2)
  • qt下载地址 - - 点击跳转
  • ODBC版本 : unixODBC 2.3.7
  • 达梦数据库版本 : 1-3-162-2024.07.03-234060-20108-ENT

2 Qt5.4.1 安装

2.1 图形化界面安装Qt5.4.1

  • 将安装包上传到 /opt 目录 使用root安装
chmod +x qt-opensource-linux-x64-5.4.1.run 
./qt-opensource-linux-x64-5.4.1.run 

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.2 配置Qt5.4.1 环境变量

  • 末尾 4行 是 Qt 环境变量配置
vi /root/.bash_profile
[root@localhost opt]# cat /root/.bash_profile 
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programsPATH=$PATH:$HOME/binexport PATHexport LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/dmdba/dmdbms2407/bin"
export DM_HOME="/home/dmdba/dmdbms2407"export QTDIR=/opt/Qt5.4.1/5.4/gcc_64
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/bin:$QTDIR/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=$QTDIR/lib/pkgconfig:$PKG_CONFIG_PATH
[root@localhost opt]# 
  • 验证环境变量是否生效
[root@localhost test1]# echo $QTDIR
/opt/Qt5.4.1/5.4/gcc_64
[root@localhost test1]# echo $LD_LIBRARY_PATH
/opt/Qt5.4.1/5.4/gcc_64/bin:/opt/Qt5.4.1/5.4/gcc_64/lib:/opt/Qt5.4.1/5.4/gcc_64/lib:/opt/Qt5.4.1/5.4/gcc_64/lib::/home/dmdba/dmdbms2407/bin:/home/dmdba/dmdbms2407/bin:/home/dmdba/dmdbms2407/bin:/home/dmdba/dmdbms2407/bin:/home/dmdba/dmdbms2407/bin
[root@localhost test1]#
  • 查询 Qt5.4.1 版本
[root@localhost test1]# qmake --version
QMake version 3.0
Using Qt version 5.4.1 in /opt/Qt5.4.1/5.4/gcc_64/lib
[root@localhost test1]# 

2.3 Qt5.4.1 生成 libqsqlodbc.so 并配置

  • 实际环境可能会碰到各种报错 , 一言难尽
  • libqsqlodbc.so - - 点击下载

2.3.1 生成Makefile

  • 逐行执行
cd /opt/Qt5.4.1/5.4/gcc_64/bin./qmake "LIBS+=-L/usr/lib64 -lodbc" /opt/Qt5.4.1/5.4/Src/qtbase/src/plugins/sqldrivers/odbc/odbc.promake
  • 结束时末尾日志 :
../gcc_64/include/QtCore/qvector.h:502:1: ????????????defined???????????????? [-Wexpansion-to-defined]#if QT_SUPPORTS(UNSHARABLE_CONTAINERS)^~~~~~~~~~~~~~~~~~~~~~~~~~~
../gcc_64/include/QtCore/qvector.h:570:1: ????????????defined???????????????? [-Wexpansion-to-defined]#if QT_SUPPORTS(UNSHARABLE_CONTAINERS)^~~~~~~~~~~~~~~~~~~~~~~~~~~
rm -f libqsqlodbc.so
g++ -Wl,--no-undefined -Wl,-O1 -Wl,-rpath,/opt/Qt5.4.1/5.4/gcc_64 -Wl,-rpath,/opt/Qt5.4.1/5.4/gcc_64 -Wl,-rpath,/opt/Qt5.4.1/5.4/gcc_64/lib -shared -o libqsqlodbc.so .obj/main.o .obj/qsql_odbc.o .obj/moc_qsql_odbc_p.o  -L/usr/lib64 -lodbc -L/opt/Qt5.4.1/5.4/gcc_64/lib -lQt5Sql -lQt5Core -lpthread  
mv -f libqsqlodbc.so /plugins/sqldrivers/ 
[root@localhost bin]# 

2.3.2 查看 libqsqlodbc.so 文件并配置

[root@localhost bin]# ls /plugins/sqldrivers/
libqsqlodbc.so
[root@localhost bin]# 
[root@localhost bin]# cp /plugins/sqldrivers/libqsqlodbc.so /opt/Qt5.4.1/5.4/gcc_64/plugins/sqldrivers/
[root@localhost bin]# 
[root@localhost bin]# ls /opt/Qt5.4.1/5.4/gcc_64/plugins/sqldrivers/
libqsqlite.so  libqsqlmysql.so  libqsqlodbc.so  libqsqlpsql.so
[root@localhost bin]# 

3 配置Qt测试用例

  • .pro 相关配置测试用例 - - 点击下载
qmake "LIBS+=-L/usr/lib64 -lodbc" /opt/Qt5.4.1/5.4/test1/test1.pro
make
./test1
  • 末尾日志
[root@localhost test1]# qmake "LIBS+=-L/usr/lib64 -lodbc" /opt/Qt5.4.1/5.4/test1/test1.pro
[root@localhost test1]# ls
bak        release         test1.pro.user.c628fdd
debug     main.o               test1.pro       test1_zh_CN.ts
main.cpp  Makefile             test1.pro.user
[root@localhost test1]# make
g++ -c -pipe -O2 -std=c++0x -Wall -W -D_REENTRANT -fPIE -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_CORE_LIB -I. -I../gcc_64/include -I../gcc_64/include/QtSql -I../gcc_64/include/QtCore -I. -I../gcc_64/mkspecs/linux-g++ -o main.o main.cpp
In file included from ../gcc_64/include/QtCore/qbytearray.h:37:0,from ../gcc_64/include/QtCore/qstring.h:38,from ../gcc_64/include/QtCore/qcoreapplication.h:38,from ../gcc_64/include/QtCore/QCoreApplication:1,from main.cpp:1:
../gcc_64/include/QtCore/qrefcount.h:50:1: ????????????defined???????????????? [-Wexpansion-to-defined]...中间省略...
...中间省略...
...中间省略...../gcc_64/in
clude/QtCore/qalgorithms.h:148:40: ??????????????class QT_DEPRECATED_X("Use std::less") qLess
g++ -Wl,-O1 -Wl,-rpath,/opt/Qt5.4.1/5.4/gcc_64 -Wl,-rpath,/opt/Qt5.4.1/5.4/gcc_64/lib -o test1 main.o   -L/usr/lib64 -lodbc -L/opt/Qt5.4.1/5.4/gcc_64/lib -lQt5Sql -lQt5Core -lpthread [root@localhost test1]# ls
bak       main.cpp.240906.bak  release    test1.pro.user
debug     main.o               test1      test1.pro.user.c628fdd
main.cpp  Makefile             test1.pro  test1_zh_CN.ts
[root@localhost test1]# ./test1 
connect ok!
select ok!
[root@localhost test1]#

4 达梦数据库学习使用列表

  • 更多 达梦数据库学习使用列表 - - 点击跳转

相关文章:

Qt5.4.1连接odbc驱动操作达梦数据库

Qt5.4.1连接odbc驱动操作达梦数据库 1 环境介绍2 Qt5.4.1 安装2.1 图形化界面安装Qt5.4.12.2 配置Qt5.4.1 环境变量2.3 Qt5.4.1 生成 libqsqlodbc.so 并配置2.3.1 生成Makefile2.3.2 查看 libqsqlodbc.so 文件并配置 3 配置Qt测试用例4 达梦数据库学习使用列表 1 环境介绍 CPU…...

计算机组成原理(第一课)

计算机系统概述 1.发展史 摩尔定律:集成电路上可以容纳的晶体管数目在大约每经过18个月到24个月便会增加一倍 2.操作系统组成 存储程序程序控制 五个部分记住: 输入输出功能 I/O 记忆功能 访问 计算功能 计算 判断功能 判断 自我控制功能 自我控制…...

计算机网络练级第一级————认识网络

目录 网络搁哪? 网络的发展史(了解) 独立模式: 网络互联: 局域网时期: 广域网时期: 什么是协议 TCP/IP五层/四层模型 用官话来说: 我自己的话来说 第一层应用层&#xff1…...

Java基于微信小程序的家庭财务管理系统,附源码

博主介绍:✌Java徐师兄、7年大厂程序员经历。全网粉丝13w、csdn博客专家、掘金/华为云等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不…...

P2343 宝石管理系统

不会写平衡树怎么办&#xff0c;可以用STL的vector或者是pb_ds&#xff0c;这个东西太乱&#xff0c;还是STL好用 #include<bits/stdc.h> using namespace std; int read() {int x 0, f 1;char ch getchar();while (ch < 0 || ch > 9) {if (ch -) f -1;ch g…...

Spring6梳理6——依赖注入之Setter和构造器注入

以上笔记来源&#xff1a; 尚硅谷Spring零基础入门到进阶&#xff0c;一套搞定spring6全套视频教程&#xff08;源码级讲解&#xff09;https://www.bilibili.com/video/BV1kR4y1b7Qc 目录 一、引言 二、Java方法初始化过程 2.1 set方法及构造器方法实现Book对象初始化 三…...

【C++】C++入门基础,详细介绍命名空间,缺省参数,函数重载,引用,内联函数等

目录 1. 命名空间 1.1 使用命名空间的目的 1.2 命名空间定义 1.3 命名空间使用 2. 缺省参数 2.1 缺省参数概念 2.2 缺省参数分类 2.3 实际案例 2.4 注意事项 3. 函数重载 3.1 函数重载概念 3.2 函数重载原理 4. 引用 4.1 引用的概念 4.2 引用的特性 4.3 使用…...

Android使用Room后无法找到字符BR

一般来讲&#xff0c;无法找到BR字符多与Data Binding 相关。 在 Android Studio 中使用 Data Binding 时&#xff0c;如果突然出现 “BR 文件不可用” 或 “找不到符号 BR” 的错误&#xff0c;可能是由以下原因造成的&#xff1a; Data Binding 未启用&#xff1a;确保在你的…...

网络通讯安全基础知识(加密+解密+验签+证书)

1、加密解密基本概念 通讯的加密和解密‌主要涉及将原始信息&#xff08;明文&#xff09;转换为不可直接理解的格式&#xff08;密文&#xff09;&#xff0c;以及将密文还原为原始信息的过程。这一过程通常包括三个基本步骤&#xff1a;加密、传输和解密&#xff0c;其中加密…...

[数据集][目标检测]石油泄漏检测数据集VOC+YOLO格式6633张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;6633 标注数量(xml文件个数)&#xff1a;6633 标注数量(txt文件个数)&#xff1a;6633 标注…...

【Oracle篇】全面理解优化器和SQL语句的解析步骤(含执行计划的详细分析和四种查看方式)(第二篇,总共七篇)

&#x1f4ab;《博主介绍》&#xff1a;✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ &#x1f4ab;《擅长领域》&#xff1a;✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux&#xff0c;也在扩展大数据方向的知识面✌️…...

都2024年了还不明白Redis持久化?RDB文件、AOF文件、AOF重写

都2024年了&#xff0c;不会还有人不知道redis的RDB和Aof吧&#xff1f;不知道没关系&#xff0c;看完这篇文章我相信你就会有个大概的了解和认识了 1. Redis持久化 1.1 持久化概念 Redis本身是一个基于内存的数据库&#xff0c;它提供了RDB持久化、AOF持久化两种方式&#…...

浅谈Unity协程的工作机制

一. 什么是协程 协程概述 在 Unity 中&#xff0c;协程&#xff08;Coroutine&#xff09;是一种非常常用的机制&#xff0c;用于非阻塞地处理需要跨越多个帧、等待某些条件或延迟一段时间才能完成的任务。Unity 的协程通过 C# 的 IEnumerator 和 yield return 实现&#xff0…...

数学建模_数据预处理流程(全)

数据预处理整体流程图 一般数据预处理流程 处理缺失值&#xff1a;填补或删除缺失值。处理异常值&#xff1a;检测并处理异常值。数据编码&#xff1a;将分类变量进行标签编码或独热编码。数据标准化/归一化&#xff1a;对数据进行标准化或归一化处理。连续变量离散化&#xff…...

深入解析Flink SQL:基本概念与高级应用

深入解析Flink SQL&#xff1a;基本概念与高级应用 目录 深入解析Flink SQL&#xff1a;基本概念与高级应用 引言 一、Flink SQL概述 1. Flink SQL的定义 2. Flink SQL与传统SQL的区别 二、Flink SQL的核心特性 1. 事件时间和处理时间 2. 窗口操作 3. 连接和聚合操作 …...

计算机的发展史和基本结构

好久不见&#xff0c;粉粉们&#xff0c;我是#Y清墨。今天来分享一下最近学习做的笔记。 计算机发展史和四代计算机概述 阶段 年代 电子元件 运算速度&#xff08;每秒/次&#xff09; 第一代 1946-1958 真空电子管 数千至数万 第二代 1958-1964 晶体管 几十万至百万…...

VSTO常见的异常

在开发和使用 VSTO&#xff08;Visual Studio Tools for Office&#xff09;插件时&#xff0c;常见的异常主要涉及到与 Microsoft Office 应用程序&#xff08;如 Excel、Word、Outlook 等&#xff09;的交互、环境配置和 COM 组件的使用。以下是一些常见的异常及其可能的原因…...

【H2O2|全栈】关于HTML(3)HTML基础(二)

HTML相关知识 目录 HTML相关知识 前言 准备工作 标签的具体分类&#xff08;二&#xff09; 本文中的标签在什么位置使用&#xff1f; 本期前置知识点 超文本 超文本引用和源属性 图片标签 锚链接 iframe 锚点 预告和回顾 后话 前言 本系列博客将分享HTML相关…...

前端AST

前端AST 1、什么是编译器2、什么是AST3、编译器的基本思路3.1 词法分析3.2 语法分析3.3 代码转换3.4 代码生成3.5 完整链路 4、一个简单的编译器的实现4.1 词法分析4.2 语法分析4.3 代码转换4.4 代码生成4.5 完整流程 1、什么是编译器 定义&#xff1a;编译器就是个将当前语言…...

基于EPS32C3电脑远程开机模块设计

基于EPS32C3电脑远程开机模块设计 前言 缘起&#xff0c;手头资料太多了&#xff0c;所以想组一台NAS放在家里存储数据。在咸鱼淘了一套J3160主板加机箱&#xff0c;加上几块硬盘组建NAS。 对于NAS&#xff0c;我的需求是不用的时候关机(节省功耗)&#xff0c;要用的时候开机…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了&#xff1a;一行…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...