使用Perl语言去存取mSQL和MySQL数据库的内容
来源:asp之家 发布时间:2009-10-23 09:11:00
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(数据库驱动程序)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(远程过程调用) . 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/htmlnn";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 "occur an error when query database";$sth->execute();$numRows=$sth->rows;while(@row=$sth->fetchrow_array){ print "Table: $row[0]n";} print "query lines=$numRowsn";$sth->finish();$dbh->disconnect();exit;
将此程序存入系统的CGI目录中,同时执行:chmod 755 perlmysql.cgi ,然后在命令行下执行:perl perlmysql.cgi ,在正常安装的情况下将可以看到数据库abacus中的所有表名显示出来。也可以在IE里使用url看结果。


猜你喜欢
- 门限回归模型(Threshold Regressive Model,简称TR模型或TRM)的基本思想是通过门限变量的控制作用,当给出预报因子
- 注释:在大多数的情况下,修改MySQL是需要有mysql里的root权限的,所以一般用户无法更改密码,除非请求管理员。方法1使用phpmya
- 目的:删除文件之后,如果目录为空,递归删除为空的目录。svr.dataDir指目录的最外层,递归删除目录的时候判断到这一层即可。eg:/Us
- 如下所示:#coding:utf-8import binasciia = 'worker'#先把worker转换成二进制数据
- 正在看的ORACLE教程是:PL/SQL实现Oracle数据库任务调度。摘要:本文主要就数据库恢复与系统任务的调度,在结合一般性的数据库后台
- 本文实例讲述了机器学习之KNN算法原理及Python实现方法。分享给大家供大家参考,具体如下:文中代码出自《机器学习实战》CH02,可参考本
- 通常情况下,我们想构建一张表单时会在模板文件login.html中写入<form action="/your-name/&q
- 本文介绍了python 支持向量机非线性回归SVR模型,废话不多说,具体如下:import numpy as npimport matplo
- 经常碰到的一个问题是limit的offset太高,如:limit 100000,20,这样系统会查询100020条,然后把前面的
- 本文介绍了使用xmlhttp处理远程文件数据、或采集文章时,对对方网页编码的处理方法。因为使用ajax的xmlhttp网页编码处理不当很容易
- 处理页面中的间歇无缝滚动新闻的时候,最常见的方法就是将滚动区内容复制追加一份,然后通过控制和判断滚动块的scrollTop来实现滚动停止效果
- 需求:从一台Oracle数据库获取数据,本以为是很简单的事情,直接将原来的SqlClient换成OracleClient调用,结果远没自己想
- 本文实例讲述了Python SVM(支持向量机)实现方法。分享给大家供大家参考,具体如下:运行环境Pyhton3numpy(科学计算包)ma
- 一.docx模块Python可以利用python-docx模块处理word文档,处理方式是面向对象的。也就是说python-docx模块会把
- Python遍历numpy数组下面是示例代码:import numpy as npnum = np.zeros([2, 3])[rows,
- 一、贝叶斯分类介绍贝叶斯分类器是一个统计分类器。它们能够预测类别所属的概率,如:一个数据对象属于某个类别的概率。贝叶斯分类器是基于贝叶斯定理
- 1、not关键词可以反转一个布尔值。>>> not TrueFalse>>>>>> n
- vue设置header使用vue-resource与vue-cookie实现页面登录,数据存储与后台的数据交互后端交互对vue中conten
- 如下所示:import collectionsclass Mydict(collections.UserDict):def __missin
- 起因修改了表结构以后执行python3 manage.py migrate 报错:django.db.utils.OperationalEr