庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>操作系统>Linux>数据库>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

Linux下mSQL数据库开发技术

 作者:本站收集   日期:2005-4-15
字号选择〖 〗/ 双击滚屏 单击停止   
mSQL(mini SQL)是一个单用户数据库管理系统,由于它的短小精悍,使其开发的应用系统特别受到互联网用户青睐。笔者曾经在Linux下开发过一个基于Web的管理系统,其中采用了mSQL数据库用于数据管理,系统在实际运行中效果良好。笔者经过总结,现将在Linux下mSQL数据库开发的方法详细介绍给大家。

   首先,到站点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。

   在实际应用中我们改动得最多的是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这些文件一般就能顺利安装完成。

   为了将mSQL集成到用户的应用程序中去,mSQL数据库系统为用户提供了一个C语言的API库和一个解释器:w3—msql,通过C语言的API库,你可以将mSQL集成到用标准C语言开发的应用程序中去。而有了w3—msql这个工具,你可以通过编写类C语言脚本语言将mSQL数据库嵌入到html文件中,下面举一程序实例进行说明。

   下面的程序片段要完成的功能是将浏览器页面上提交上来的用户名和口令与表registered—user中的用户名和口令相比较,如果用户名和口令正确,将在页面上显示注册成功的信息,否则提示用户注册失败。采用C语言实现的方法如下所示:

   void main(int argc, char argv[])

   {

   //解析用户提交上来的用户名和口令并保存到变量username和password—usr中

   …

   //创建与本机的mSQL数据库系统的套接字

   sock=msqlConnect(NULL);

   //选择数据库test

   if (msqlSelectDB(sock,″test″)==-1)

   {

   //输出数据库选择失败信息

   …

   } else

   {

   sprintf(buff,″select  from registered—user where username=′%s′″,username);

   //以username查询表registered—user中的记录

   if (msqlQuery(sock,buff)==-1)

   {

//输出查询失败的错误信息

    …

   }

   //将查询结果保存到m—result类型的指针变量 res

   res=msqlStoreResult();

   //得到查询结果的记录数

   numrow=msqlNumRows(res);

   if (numrow==1)

   {

   //得到当前记录,类型为:m_row

   row=msqlFetchRow(res);

   //将保存在表中的口令和用户输入的口令相比较

   if (!strcmp(password_ur,row[2]))

   {

   //输出注册成功信息

   } else

   {

     //输出口令不对的提示信息

   }

   } else

   {

   //输出用户名输入出错信息

   }

   }

   //释放查询结果的指针

   msqlFreeResult(res);

   //关闭数据库系统的套接字

   msqlClose(sock);

   return;

   }

   以上的例子包含有将mSQL集成到C语言程序中用到的主要函数,这些函数基本能满足应用程序的需要。如果采用w3—msql能解释的类C语言嵌入到html文件中,可以达到同样的功能。与C语言编写的CGI程序需要编译不同,脚本语言不需要编译,该脚本由mSQL数据库系统提供的CGI程序w3—msql来解释执行。脚本中主要的代码段如下所示:

   〈HTML〉

   〈HEAD〉

   〈META HTTP-EQUIV=″Content-Type″ CONTENT=″text/html;charset=iso-8859-1″〉

   〈/HEAD〉

   〈body TEXT=″#000000″ BACKGROUND=″/icon/back.jpg″ topmargin=″10″〉

   〈!

   //解析用户提交上来的用户名和口令并

   保存到变量username和password—usr中

   …

   //创建与本机的mSQL数据库系统的套接字

   $sock = msqlConnect();

   //选择数据库test

   if (msqlSelectDB($sock,″test″)==-1)

   {

   //输出数据库选择失败信息

   fatal(″错误 : 无法与数据库连接\n″);

   } else

   {

   $buff = ″ select  from registered—user where username=′$username ′″;

   //以username查询表registered—user中的记录

   if (msqlQuery($sock,$buff)==-1)

   {

     //输出查询失败的错误信息

     fatal(″查询错误\n″);

   }

   //将查询出来的结果保存到查询结果的指针变量res中

   $res=msqlStoreResult();

   //得到查询结果的记录数目

   $numrow=msqlNumRows($res);

   if ($numrow==1)

   {

   //得到当前记录的指针

   $row=msqlFetchRow($res);

   //将保存在表中的口令和用户输入的口令相比较

   if (!strcmp($password—ur,$row[2]))

   {

   //输出注册成功信息

   echo(″〈center〉注册成功〈/center〉″);

   } else

   {

//输出口令不对的提示信息

   echo(″〈center〉您输入的口令不正确〈/center〉″);

   }

   } else

   {

   //输出用户名输入出错信息

   echo(″〈center〉您输入的用户名不正确〈/center〉″);

   }

   }

   //释放查询结果占用的内存

   msqlFreeResult($res);

   //关闭数据库系统的套接字

   msqlClose($sock);

   〉

   〈/BODY〉

   〈/HTML〉

   以上介绍了在Linux下以mSQL数据库系统作为后台数据库开发应用系统的方法。有了这些基本的方法,我们就能开发出各种基于mSQL数据库的应用系统。
上一篇:为Linux配备Oracle 8    下一篇:Unix系统Informix数据备份技巧  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-4-15
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿