阿七 |
2006-04-04 14:02 |
首先,到站点www.hughes.com.au注册后就能免费下载该软件的最新版本。mSQL的安装相当简单,二进制版本(针对某一个硬件平台编译后的软件)的安装只是将文件展开到用户某一目录下然后配置几个参数就可以。例如你下载的文件为:mSQL-2.0.3.tar.gz,你想把mSQL安装到/usr/local目录下,这时,我们需要先将这个文件拷贝到/usr/local这个目录,然后键入命令tar zxvf mSQL-2.0.3.tar.gz,这个命令将展开该压缩文件。一般,mSQL数据库系统的所有文件都安装到/usr/local/Hughes目录下。接着就是配置mSQL数据库。你所要做的工作就是要修改/usr/local/Hughes目录下的文件msql.conf。 qQ8+gZG$R 在实际应用中我们改动得最多的是mSQL—User 和Admin—User这两个参数。mSQL—User指明运行mSQL数据库服务程序的用户,而Admin—User指明能对mSQL数据库系统执行特权操作(如:关闭数据库服务程序的运行,创建数据库等操作)的用户。因此,如果你希望mSQL服务程序以database这个用户运行,指定admin这个用户能执行数据库操作,你要将mSQL—User和Admin—User所在的行分别改为:mSQL—User = database和Admin—User = admin。另外你还必须将Hughes目录下的文件和目录的属主改为database。在配置完成后,注销当前用户的身份,重新以msql.conf的参数 mSQL—User设定的用户登录到系统,进入/usr/local/Hughes/bin目录键入如下的命令:./msql2d &,这样就启动了mSQL数据库系统。至于带源码的安装软件,看一看README和INSTALL这些文件一般就能顺利安装完成。 9*r^1PRc 为了将mSQL集成到用户的应用程序中去,mSQL数据库系统为用户提供了一个C语言的API库和一个解释器:w3—msql,通过C语言的API库,你可以将mSQL集成到用标准C语言开发的应用程序中去。而有了w3—msql这个工具,你可以通过编写类C语言脚本语言将mSQL数据库嵌入到html文件中,下面举一程序实例进行说明。 W6B"QbHYz 下面的程序片段要完成的功能是将浏览器页面上提交上来的用户名和口令与表registered—user中的用户名和口令相比较,如果用户名和口令正确,将在页面上显示注册成功的信息,否则提示用户注册失败。采用C语言实现的方法如下所示: qw{`?1[+ void main(int argc, char ??argv[]) Udq!YXE0 { x,
ZF+vE //解析用户提交上来的用户名和口令并保存到变量username和password—usr中 m"QDc[^Ge … ILqBa:J //创建与本机的mSQL数据库系统的套接字 AREjS$
sock=msqlConnect(NULL); `46z D
? //选择数据库test pTXF^:8 if (msqlSelectDB(sock,″test″)==-1) X0R
EC% { 8:>V'j //输出数据库选择失败信息 (|NCxey … :2K@{~8r } else Dp!91NgB p { 8QoxU"
c& sprintf(buff,″select ?? from registered—user where username=′%s′″,username); YV!hlYOBi //以username查询表registered—user中的记录 N$x&k$w R if (msqlQuery(sock,buff)==-1) 9g>)7Ne { hidQOh //输出查询失败的错误信息 1GqSY|FSGp … Fk^N7EJ:$ } dDIR~!T //将查询结果保存到m—result类型的指针变量 res Y~e)3e res=msqlStoreResult(); 6uT*Fg-G //得到查询结果的记录数 8QZI(Xe9r numrow=msqlNumRows(res); S0QLM) if (numrow==1) 8'%m! { Q;g7<w17 //得到当前记录,类型为:m_row &N._}ts row=msqlFetchRow(res); h<TZJCt //将保存在表中的口令和用户输入的口令相比较 E6ZkO/ if (!strcmp(password_ur,row[2])) `$S&:Q, { {:|3V 7X //输出注册成功信息 mO;QT } else %^L{K[} { ,(pp+hNq //输出口令不对的提示信息 7J!s"|VS } &29jg_'W } else .<F46?HS { 6]Is"3ca //输出用户名输入出错信息 D
2kmBZ3 } Z$JJ0X } V<J1.8H
//释放查询结果的指针 5dI=;L>D msqlFreeResult(res); ws+'*7 //关闭数据库系统的套接字 k#Sr;" msqlClose(sock); IBo return; Syy{ ^Ae} } |
|