• 17986阅读
  • 13回复

关于发布含sqlite数据库时driver not loaded问题 [复制链接]

上一主题 下一主题
离线kfor9
 

只看楼主 倒序阅读 楼主  发表于: 2009-04-01
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
今天把程序写完了,里面用了sqlite这个数据库,我用的是最新的QT4.5,这些库都有的了

在编release时,程序能连接到数据库上,很正常,但我把它放到其它电脑上(qtcore4.dll这些都放过去了),就提示:

database error: driver not loaded 然后程序是能跑,但就是连不了数据库了!!!

其实我已经把qt\plugins\sqldrivers底下的所有库都拷到那个程序目录下了,为何还说找不到呢????
离线zougw
只看该作者 1楼 发表于: 2009-04-01
楼主看一下qt plugin的帮助文档,plugin目录的位置。你的sqldirver目录应该和你的可执行文件在同一级
离线qinyi
只看该作者 2楼 发表于: 2009-09-21
我也是这样
C++  QT
嵌入式BBS论坛
http://bbs.2embed.com
离线shiroki

只看该作者 3楼 发表于: 2009-09-21
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线soulark

只看该作者 4楼 发表于: 2009-10-29
我还遇到一个更奇怪的问题:

就是deploy的程序,在很多机器上,能连上sqlite数据库,就是在某1、2台机器上,运行的时候死活显示"driver not loaded"这个问题,我至今还没找到答案。暂时怀疑是OS的问题。希望有志之士不吝赐教!

注:所有deploy的机器上都没有QT的开发环境。
离线shiroki

只看该作者 5楼 发表于: 2009-10-29
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线午小夜

只看该作者 6楼 发表于: 2009-10-29
qt.conf
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线rongyiyiwang
只看该作者 7楼 发表于: 2012-07-11
我也遇到这个问题了,用 QApplication::addLibraryPath("./plugins");
死活连不上,把插件库按照开发机上的安装目录放到部署机上就能运行了
就差qt.config没有试过了,具体zaiwindows下不知道怎么用啊,哪位大侠给个例子吧
离线XChinux

只看该作者 8楼 发表于: 2012-07-12
windows的话,直接将sqldrivers目录拷贝到可执行目录下面。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线rongyiyiwang
只看该作者 9楼 发表于: 2012-07-14
回 8楼(XChinux) 的帖子
我试过了,真的真的,不行啊
我用的是Qt MinGW 4.7.4 4.8.1都试过了
就算加上
QApplication::addLibraryPath("./plugins");
QPluginLoader loader("./plugins/sqldrivers/qsqlite4.dll");
还是不行,一定要把插件拷贝到开发的机子安装的目录才行
不知道qt.config的方法能不能解决问题,可是在windows下不知道怎么用好,也没找到相关的文档,还请各位大侠指点迷津
还有一个办法就是把sqlite的插件静态编译了,正在尝试中。。。
离线XChinux

只看该作者 10楼 发表于: 2012-07-14
就是说,把plugins目录里的东西,拷贝到bin目录下,这回会了吧?你的可执行文件与sqldrivers这个目录,两个是在同一个目录下的。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务

只看该作者 11楼 发表于: 2013-04-19
10楼说的没有错,之前还一直想不明白是怎么回事呢,我是通过把调试信息发回来才发现driver not loaded
目录结构应该是这样的:(在应用程序目录下新建一个sqldrivers目录,里面放:qsqlite4.dll)


离线0354030w

只看该作者 12楼 发表于: 2013-04-22
程序中要用插件的形式加载
离线general252

只看该作者 13楼 发表于: 2015-01-15
windows下 将 C:\Qt\4.8.5\plugins\sqldrivers目录拷贝到exe所在目录
快速回复
限100 字节
 
上一个 下一个