程序找不到qsqloci4.dll的问题

楼主   发表于: 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在程序所在目录就能让程序找到的方法。
评分  收藏  新鲜事
回复
举报
 
分享到 淘江湖 新浪 QQ微博 QQ空间 开心 人人 豆瓣 网易微博 百度 鲜果 白社会 飞信
 
离线 XChinux
程序找不到qsqloci4.dll的问题_第1张图片
总版主

  • 加关注
  • 发消息
只看该作者 1楼  发表于: 2012-12-24
你看看qsqloci4.dll依赖于哪些DLL,要把这些依赖也带过去的.
对oracle不了解,最笨的办法是在新机上安装个oracle客户端
二笔 openSUSE Vim N9 BB10 [email protected] 百度空间 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
回复 评分 新鲜事
举报
 
离线 justwake
程序找不到qsqloci4.dll的问题_第2张图片
新手上路

  • 加关注
  • 发消息
只看该作者 2楼  发表于: 2012-12-24
这个是不是要设置libraryPath?
回复 评分 新鲜事
举报
 
离线 nctqandy01
程序找不到qsqloci4.dll的问题_第3张图片
新手上路
  • 加关注
  • 发消息
只看该作者 3楼  发表于: 2012-12-24
回 1楼(XChinux) 的帖子
新机器的oracle客户端是正常的,只要在新机器新建一个D:\Qtsdk\Desktop\Qt\4.8.1\mingw\plugins\sqldrivers\目录,并把qsqloci4.dll
拷贝到该目录下就可以了,但是悲催的是新机器没D盘。。所以才想解决这个问题
回复 评分 新鲜事
举报
 
离线 nctqandy01
程序找不到qsqloci4.dll的问题_第4张图片
新手上路
  • 加关注
  • 发消息
只看该作者 4楼  发表于: 2012-12-24
回 2楼(justwake) 的帖子
我试试
回复 评分 新鲜事
举报
 
离线 nctqandy01
程序找不到qsqloci4.dll的问题_第5张图片
新手上路
  • 加关注
  • 发消息
只看该作者 5楼  发表于: 2012-12-24
回 2楼(justwake) 的帖子
设置了libraryPath环境变量也不行,可能是环境变量名不对吧
回复 评分 新鲜事
举报
 
离线 justwake
程序找不到qsqloci4.dll的问题_第6张图片
新手上路

  • 加关注
  • 发消息
只看该作者 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
程序找不到qsqloci4.dll的问题_第7张图片
新手上路
  • 加关注
  • 发消息
只看该作者 7楼  发表于: 2012-12-28
回 6楼(justwake) 的帖子
谢谢,按你的说法已经解决了

你可能感兴趣的:(程序找不到qsqloci4.dll的问题)