qt 加载qsqlocid.dll然后又卸载报错QOCI driver not loaded
"2025-12-30 14:59:44:Oracle开始连接start" “SugarTvision.exe”(Win32): 已加载“D:\QT_Project_vs\SugarTvision\x64\Debug\plugins\sqldrivers\qsqlocid.dll”。已加载符号。 “SugarTvision.exe”(Win32): 已卸载“D:\QT_Project_vs\SugarTvision\x64\Debug\plugins\sqldrivers\qsqlocid.dll” QSqlDatabase: QOCI driver not loaded QSqlDatabase: available drivers: QSQLITE QMARIADB QMYSQL QMYSQL3 QOCI QOCI8 QODBC QODBC3 QPSQL QPSQL7 [QxOrm] qx::QxSqlDatabase : 'unable to open connection to database' Driver not loaded Driver not loaded
参考:
https://txwtech.blog.csdn.net/article/details/156456290

下载基础包
https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html

拷贝oci.dll 与oraociei.dll到vs2019项目的cpp文件夹目录
QOCIDriver: unable to create environment
- Qt 编译 QOCI 时使用的 Oracle SDK 版本,最好与运行时 Instant Client 主版本一致(如都用 19.x 或都用 21.x)。
- 虽然 Oracle 声称向后兼容,但跨大版本(如用 12c SDK 编译,运行 21c Client)可能出问题。
✔️ 解决:(拷贝oci.dll 与oraociei.dll到vs2019项目的cpp文件夹目录),instantclient_19_29还需要oraons.dll
- 如果你是自己编译的
qsqlocid.dll,请确保编译时使用的oci.h和oci.lib来自 与运行时相同的 Instant Client 版本。 - 或者,直接使用 预编译的 Qt + 官方支持的 Oracle 版本组合(如 Qt 5.15 + IC 19.10)
欢迎讨论,相互学习。
cdtxw@foxmail.com

浙公网安备 33010602011771号