• 5918阅读
  • 3回复

关于数据库编程的一点疑问 [复制链接]

上一主题 下一主题
离线shifan
 
只看楼主 倒序阅读 楼主  发表于: 2009-11-17
如果我想在我的程序中使用数据库(不是QSQLITE),那么我是不是要先在QtCreator外建立一个数据库,然后才能使用QT链接它?
如果是这样的话,那么我要发布程序的话,是不是要把数据库文件拷贝到程序的文件夹中?
还有如果作出程序依赖于自己机器上已经安装的数据库客户端或者服务器端,那么如果使用者的机器上没有安装这些软件,那他们是不是就不能够使用我的软件了呢?


附注:软件不包括对外界的链接,仅仅是该软件内部需要使用数据库。
离线channon
只看该作者 1楼 发表于: 2009-11-17
楼主对数据库似乎连门都没有入啊,如果不用sqlite,那你势必要在客户机上安装数据库系统。
操作系统: Archlinux
Qt SDK: Qt 4.7.1 for Linux
开发方向: Qt,Java
常用数据库:Firebird、SQLite
离线shifan
只看该作者 2楼 发表于: 2009-11-17
那数据库系统一般是随软件包一同安装呢?
还是要求用户自己去安装?
哦,那么安装程序就是用来解决这些依赖关系的?
离线rcyboom

只看该作者 3楼 发表于: 2009-11-17
数据库管理系统:独立于你的程序的另外一个程序(也可能是几个dll文件甚至可以被打包进你的客户端)。可以装在本地机器上也可以装在其他机器上。除了一些小型的文件数据库、内存数据库之外,大部分都是有单独的程序需要安装并配置的。
它负责提供数据的管理服务。其他程序(当然也包括你的开发的)通过使用数据库管理系统对外的接口(可以理解为数据库驱动程序)来访问或操作数据。
一般情况下,如果我们自己开发的程序需要使用数据库的话,要分情况决定选用何种数据库。类似:
如果每个客户端独占一个数据库,则可以选用简单的文件数据库系统,如access、excel甚至文本文件或者你自定义的数据文件。当然你愿意在客户机上装一个sql2000也可以。
如果好几个客户端共享一个数据库,则可以选用一些成熟的比如mssql mysql等。

要发布自己的程序的话,需要解决以下情况:
1、首先客户方要有你使用的数据库管理系统或者说有现成的可以供使用。比如使用了sql2000,就得要求对方也装这玩意或者最起码要有一个可以访问的sql2000
2、要在数据库管理系统上创建并配置你使用的数据库。比如建立客户端使用的数据库,其中要包含一些数据表,表中包含有初始化的数据,同时还要配置相应用户信息及权限信息等
3、运行客户端的电脑上要装有使用相应数据的驱动。比如odbc
4、配置客户端机器,以便客户机能够在运行程序时通过指定的配置去连接数据库。这个配置可以在启动客户端后让用户选择,也可以用 程序代码完成。
总之就是 【客户端】提供相应【参数】给【数据库驱动程序】,驱动程序去操作【数据库管理系统】中的【数据库】中的【数据表】,并将结果返回给客户端。
[ 此帖被rcyboom在2009-11-17 14:34重新编辑 ]
快速回复
限100 字节
 
上一个 下一个