• 7470阅读
  • 6回复

[提问]请问带数据库程序应如何发布? [复制链接]

上一主题 下一主题
离线hgl2073
 
只看楼主 倒序阅读 楼主  发表于: 2011-03-15
第一次编写带数据的程序,请指教
编译环境:
1、Qt Create 2.0.1(qt库版本4.7.0,动态编译),win7
2、VS2008(qt库版本4.5.3,静态编译),win7
应用平台期待:
最好windows系列操作系统都可以正常运行,至少保证XP、vista和win7下可用。

数据库类型:sqlite3

问题描述:
在Qt create下写好的程序,release编译没有问题。附上对应的dll文件后,把可执行文件考到本机其他位置上运行,也没问题。
但是拷到其他电脑上后,就无法连接到数据库。注意不是因为没有数据库文件,我拷贝了该文件,而且我的程序分两步判断的,先判断数据库文件是否存在,然后判断是否能连接数据库,程序只是第二个判断给了否定结果。
后来我尝试用VS2008进行编译,也出现了同样的问题,程序编译成功,但无法连接到数据库。

请问这是什么情况,是不是我少做了什么设置?是不是用其他数据库可以避免这个问题,如果是,应该用什么数据库?谢谢!

注:数据库版块人气太低了,因此发在这个版。
离线dbzhang800

只看该作者 1楼 发表于: 2011-03-15
离线hgl2073
只看该作者 2楼 发表于: 2011-03-15
回 1楼(dbzhang800) 的帖子
谢谢,但是不是我需要的内容,我的问题是带数据库的程序如何发布,而不是如何发布程序。
事实上我已经“成功”发布程序了,程序在别的电脑上也可以跑,只不过跑到了我不想要的分支去了而已。
离线dbzhang800

只看该作者 3楼 发表于: 2011-03-15
Re:回 1楼(dbzhang800) 的帖子
引用第2楼hgl2073于2011-03-15 09:51发表的 回 1楼(dbzhang800) 的帖子 :
谢谢,但是不是我需要的内容,我的问题是带数据库的程序如何发布,而不是如何发布程序。
事实上我已经“成功”发布程序了,程序在别的电脑上也可以跑,只不过跑到了我不想要的分支去了而已。

你确定你需要的数据库插件、图片插件、等等都已经发布?

如果Manual中提到的你都做了 http://doc.qt.nokia.com/4.7/deployment-windows.html
不妨介绍一下你一步一步都是怎么做的,不然别人很难判断你是否遗漏或做错了什么
离线hgl2073
只看该作者 4楼 发表于: 2011-03-15
回 楼主(hgl2073) 的帖子
在其他贴中找到了答案,这里也贴一份造福大家吧。

假设你的可执行文件为a.exe,所在文件夹为: folder
1.将Sql的库和plugin文件夹放在folder中,相对路径和Qt目录下的相对路径相同
注:实际上不需要拷贝整个plugin文件夹,对于使用sqlit的人而言,拷贝/plugins/sqldrivers/qsqlite4.dll即可,不过要保证路径还是这个路径,也即将qsqlite4.dll拷贝到folder/plugins/sqldrivers/下。
2.在folder文件夹下新建文件 qt.conf ,可以无内容

原帖地址(回答在1楼):
http://www.qtcn.org/bbs/read.php?tid=11697
离线hgl2073
只看该作者 5楼 发表于: 2011-03-15
回 3楼(dbzhang800) 的帖子
呵呵,就是不确定才上来问的啊,所以“成功”是加引号的啊。
因为至少程序运行了我写的代码,按照我的思路在跑,而没有在运行之初就报错说缺某某dll文件。
我只是想强调,我遇到的问题不是你1楼提出的解决方案所针对的问题而已。不过后来提到的manual应该是能解决我的问题,因为里面有提到sql编程如何发布。
离线dbzhang800

只看该作者 6楼 发表于: 2011-03-15
Re:回 3楼(dbzhang800) 的帖子
引用第5楼hgl2073于2011-03-15 11:14发表的 回 3楼(dbzhang800) 的帖子 :
呵呵,就是不确定才上来问的啊,所以“成功”是加引号的啊。
因为至少程序运行了我写的代码,按照我的思路在跑,而没有在运行之初就报错说缺某某dll文件。
我只是想强调,我遇到的问题不是你1楼提出的解决方案所针对的问题而已。不过后来提到的manual应该是能解决我的问题,因为里面有提到sql编程如何发布。

恩,其实那个文章,第一行给出的就是Manual对应的链接。正文中也都是围着动态库和插件转的,最后给的两个工具软件,特别最后一个,对查看插件特别有用。
快速回复
限100 字节
 
上一个 下一个