Perl语言存取MSQL和MySQL数据库内容

发表于:2007-07-04来源:作者:点击数: 标签:
1) 知识准备: 为了使用Perl语言去存取mSQL和 MySQL 数据库 的内容,必须安装一些API模块,以下列出一些必须安装的模块名称说明和其下载网址: i) 常规安装必须的模块: DBI-1.13 Perl语言的数据库通用接口 Data-ShowTable-3.3 Perl5的一个模块,定义了一系

  1) 知识准备:
  为了使用Perl语言去存取mSQL和MySQL数据库的内容,必须安装一些API模块,以下列出一些必须安装的模块名称说明和其下载网址:
  i) 常规安装必须的模块:
  DBI-1.13                   Perl语言的数据库通用接口
  Data-ShowTable-3.3             Perl5的一个模块,定义了一系列的子例程,用来将数据输出显示为美观的四种格式:简单表格、盒包装表格、列表样式和HTML格式。
  Msql-Mysql-modules-1.2209          包含了两个数据库驱动:DBD::mSQL和DBD::mysql,也就是mSQL和MySQL对Perl语言数据库通用接口的驱动程序,具体地说是实现对mSQL和MySQL数据库存取的DBD(数据库驱动程序)
  
  target="_blank">http://www.mysql.com/downloads/api-dbi.html
  ii) 为了在使用Perl语言的数据库通用接口的时候可以使用Perl语言的数据库通用接口自带的
  DBD::Proxy驱动和DBD::ProxyServer模块,必须要安装以下的模块:
  Net-Daemon-0.31              是一个为轻松实现便携式服务器应用程序而提供的一个抽象的基本子类,它提供了实现一个后台守护程序(Daemon)通常任务的方法:启动、登录、连接客户端、认证、为安全设置环境变量和进入工作状态。
  Storable-0.6.11              使得数据存储更加连续和稳定。你可以用递归的办法向磁盘存储任何的数据结构,同时也可以从存储文件中取出数据并且在内存中重建同样的结构。
  PlRPC-0.2012               RPC::PlServer--为实现PlRPC而提供的Perl语言扩展。它是一个用于服务器端的包,它和RPC::client一起通过共享包RPC::Comm的方式来通讯。PlRPC通过定义一系列可以被客户端执行的方法(methods)来用Perl语言实现RPC(远程过程调用) 。
  target="_blank">http://www.perl.com/CPAN-local/modules/
  
  为了使用Perl语言去存取mSQL和MySQL数据库的内容,必须安装一些API模块,以下列出一些 必须安装的模块名称说明和其下载网址:
  i) 常规安装必须的模块:
  DBI-1.13 Perl语言的数据库通用接口
  Data-ShowTable-3.3
  Perl5的一个模块,定义了一系列的子例程,用来 将数据输出显示为美观的四种格式:
  
  简单表格、盒包装表格、列表样式和HTML格式。
  Msql-Mysql-modules-1.2209 包含了两个数据库驱动:DBD::mSQL和 DBD::mysql,也就是mSQL和MySQL对Perl语
  
  言数据库通用接口的驱动程序,具体地说是实现
  
  对mSQL和MySQL数据库存取的DBD(数据库驱动程序)
  target="_blank">http://www.mysql.com/downloads/api-dbi.html
  ii) 为了在使用Perl语言的数据库通用接口的时候可以使用Perl语言的数据库通用接口自带的DBD::Proxy驱动和DBD::ProxyServer模块,必须要安装以下的模块:
  Net-Daemon-0.31 是一个为轻松实现便携式服务器应用程序而提供的一个抽象的基本子类,它提供了实现一个后台 守护程序(Daemon)通常任务的方法:启动、登录、
  
  连接客户端、认证、为安全设置环境变量和进入工作状态。
  Storable-0.6.11
  使得数据存储更加连续和稳定。你可以用递归的 办法向磁盘存储任何的数据结构,同时也可以从 存储文件中取出数据并且在内存中重建同样的结构。
  PlRPC-0.2012
  RPC::PlServer--为实现PlRPC而提供的Perl语言扩展。它是一个用于服务器端的包,它和RPC::client一起通过共享包RPC::Comm的方式
  
  来通讯。PlRPC通过定义一系列可以被客户端执
  行的方法(methods)
  来用Perl语言实现RPC(远程
  过程调用) 。
  target="_blank">http://www.perl.com/CPAN-local/modules/
  
  2) 安装过程:
  下载以上提及的模块安装文件(文件名均为模块名后接.tar.gz),最好保存在目录:/usr/local/src下,并解压:tar zxvf *****.tar.gz (*****表示模块名) 。这将产生各模块的安装文件目录。
  i)
  按照以下列出的从左到右的先后顺序安装,使得系统支持使用DBD::Proxy驱动和DBD::ProxyServer模块。
  Net-Daemon-0.31--------Storable-0.6.11------------PlRPC-0.2012使用标准的CPAN模块安装过程:perl Makefile.PL----make-----make test----make
  install
  ii) 常规安装部份:
  按照以下列出的从左到右的先后顺序安装:
  DBI-1.13----Data-ShowTable-3.3----Msql-Mysql-modules-1.2209
  对DBI-1.13模块和Msql-Mysql-modules-1.2209模块的安装使用标准的CPAN模块安装过程:
  perl Makefile.PL----make-----make test----make install
  对Data-ShowTable-3.3模块的安装要特殊处理一下:
  a) 此模块带的测试套件有错误,顾省略make test这一过程。即安装过程为:
  perl Makefile.PL----make----make install
  b) 在完成perl Makefile.PL这一步后,编辑ShowTable.pm文件,找到"=head1"相关段,增加一行:" =head1 SYNOPSIS " ,保存退出。接着完成make和make file过程。
  
  3) 测试:
  使用MySQL数据库(使用mSQL也可以)建立一个数据库:abacus,写一个简单的perl程序:perlmysql.cgi,
  从一个数据库abacus中读出所有的表名并且显示。
  
  #!/usr/bin/perl
  
  use DBI;
  print "Content-type: text/html\n\n";
  print "\n";
  print "\n";
  $driver="mysql";
  $dbh=DBI->connect("DBI:mysql:abacus:mysql.szabacus.com","root","abcde")||die "can
  not connect database";
  $sth=$dbh->prepare("show tables")||die "oclearcase/" target="_blank" >ccur an error when query database";
  $sth->execute();
  $numRows=$sth->rows;
  while(@row=$sth->fetchrow_array)
  {
  print "Table: $row[0]\n";
  }
  print "query lines=$numRows\n";
  $sth->finish();
  $dbh->disconnect();
  exit;
  
  将此程序存入系统的CGI目录中,同时执行:chmod 755 perlmysql.cgi,然后在命令行下执行: perl perlmysql.cgi ,在正常安装的情况下将可以看到数据库abacus中的所有表名显示出来。 也可以在IE里使用url看结果。

原文转自:http://www.ltesting.net