• 7333阅读
  • 7回复

程序找不到qsqloci4.dll的问题 [复制链接]

上一主题 下一主题
离线nctqandy01
 
只看楼主 正序阅读 楼主  发表于: 2012-12-24
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-01-01) —
我在一台机器上的QT主目录如下D:\Qtsdk\Desktop\Qt\4.8.1\mingw
经过编译后的oci库在D:\Qtsdk\Desktop\Qt\4.8.1\mingw\plugins\sqldrivers\qsqloci4.dll
在这台机器上运行操作ORACLE数据库的程序能连接上数据

但是在另外一台机器上就出现找不到qsqloci4.dll库的问题,已经把qsqloci4.dll拷贝到程序所在目录,但是没有用。
请问如何解决?最好就是qsqloci4.dll在程序所在目录就能让程序找到的方法。
离线nctqandy01
只看该作者 7楼 发表于: 2012-12-28
回 6楼(justwake) 的帖子
谢谢,按你的说法已经解决了
离线justwake

只看该作者 6楼 发表于: 2012-12-24
回 5楼(nctqandy01) 的帖子
  额.....
那你直接把sqldrivers目录复制到程序所在目录 试下!  


引:
12、为什么将开发的使用数据库的程序发布到其它机器就连接不上数据库?
答:这是由于程序找不到数据库插件而致,可照如下解决方法:
在main函数中加入下面语句:

引用
QApplication::addLibraryPath(strPluginsPath");


strPluginsPath是插件所在目录,比如此目录为/myapplication/plugins
则将需要的sql驱动,比如qsqlmysql.dll, qsqlodbc.dll或对应的.so文件放到
/myapplication/plugins/sqldrivers/
目录下面就行了
这是一种解决方法,还有一种通用的解决方法,即在可执行文件目录下写qt.conf文件,把系统相关的一些目录配置写到qt.conf文件里,详细情况情参考Qt Document Reference里的qt.conf部分


离线nctqandy01
只看该作者 5楼 发表于: 2012-12-24
回 2楼(justwake) 的帖子
设置了libraryPath环境变量也不行,可能是环境变量名不对吧
离线nctqandy01
只看该作者 4楼 发表于: 2012-12-24
回 2楼(justwake) 的帖子
我试试
离线nctqandy01
只看该作者 3楼 发表于: 2012-12-24
回 1楼(XChinux) 的帖子
新机器的oracle客户端是正常的,只要在新机器新建一个D:\Qtsdk\Desktop\Qt\4.8.1\mingw\plugins\sqldrivers\目录,并把qsqloci4.dll
拷贝到该目录下就可以了,但是悲催的是新机器没D盘。。所以才想解决这个问题
离线justwake

只看该作者 2楼 发表于: 2012-12-24
这个是不是要设置libraryPath?
在线XChinux

只看该作者 1楼 发表于: 2012-12-24
你看看qsqloci4.dll依赖于哪些DLL,要把这些依赖也带过去的.
对oracle不了解,最笨的办法是在新机上安装个oracle客户端
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个