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

Qt报错QOCI driver not loaded且QOCI available的解决方法

参考 Linux Qt 6安装Oracle QOCI SQL Driver插件(适用WSL) 安装 QOCI 插件完成后运行 Qt 项目报错:

qt.sql.qsqldatabase: QSqlDatabase: QOCI driver not loaded
qt.sql.qsqldatabase: QSqlDatabase: available drivers: QMIMER QPSQL QODBC QSQLITE QOCI QMARIADB QMYSQL
QSqlError(“”, “Driver not loaded”, “Driver not loaded”)

可以看到尽管 QOCI 是 available driver 可用的驱动,但却未能加载成功。
qsqlerror
对于 Windows 而言,可参考 Cannot load QOCI SQL driver even successfully built,重新在构建目录下运行windeployqt --qmldir qml YourApp.exe即可,这是因为在 Windows 构建中,构建系统会将 SQL 驱动复制到构建目录下以便 Qt 程序直接使用,因此在 Windows 中出现该情况需要第一时间找到构建目录下的sqldrivers目录是否已被更新。
对于 Linux 而言,这一问题通常是 Oracle 数据库本身的问题。在 Sehll 中运行sqlplus报错:

sqlplus: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

可以看到 sqlplus找不到libaio.so.1,然而执行

sudo apt install libaio1t64 libaio-dev 

显示这两个包都已安装(旧版 Ubuntu 系统相应的包名是libaio1)。参考 Ubuntu 24.04 PHP 8.3 OCI8 and libaio.so.1,执行ldconfig -p | grep libaio显示:

libaio.so.1t64 (libc6,x86-64) => /lib/x86_64-linux-gnu/libaio.so.1t64
libaio.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libaio.so

并且在/lib/x86_64-linux-gnu/usr/lib/x86_64-linux-gnu目录中同样只能找到libaio.solibaio.so.1t64。执行

sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1

重新运行使用了 Qt SQL 驱动的 Qt 程序,运行成功。

http://www.lryc.cn/news/475701.html

相关文章:

  • python mac vscode 脚本文件的运行
  • Linux之du命令
  • WRF-LES与PALM微尺度气象大涡模拟
  • 桌面程序开发框架选择
  • Vue项目开发:Vuex使用,表单验证配置,ESLint关闭与常见问题解决方案
  • 源鲁杯2024赛题复现Web Misc部分WP
  • 【企业微信新版sdk】
  • web安全测试渗透案例知识点总结(下)——小白入狱
  • 【专题】数据库的安全性
  • 【含开题报告+文档+源码】基于Java的房屋租赁服务系统设计与实现
  • 数据结构模拟题[十]
  • Java基于微信小程序的美食推荐系统(附源码,文档)
  • 基于CNN-RNN的影像报告生成
  • MacOS如何读取磁盘原始的扇区内容,恢复误删除的数据
  • 创客匠人:打造IP陷入迷茫?20位大咖直播如何破局,实现财富增长
  • 视觉目标检测标注xml格式文件解析可视化 - python 实现
  • clion远程配置docker ros2
  • 微信小程序 uniapp 腾讯地图的调用
  • OLAP平台架构演化历程
  • OmniGen: Unified Image Generation(代码的复现)
  • keepalive+mysql8双主
  • C#-基础构造函数、析构函数
  • Ubuntu删除docker
  • 系统地介绍Qt的QtConcurrent模块
  • 【进阶sql】复杂sql收集及解析【mysql】
  • 达梦检查工具dmdbchk的性能
  • Docker是什么
  • Vue进阶指南:Watch 和 Computed 的深度理解
  • 51c大模型~合集12
  • 大模型 RAG 面试真题大全