Linux中国  设为主页
 收藏本站
 
当前位置: > 首页 ->数据库应用 ->Access ->怎么样Perl使用Access数据库的最终版
  相关分类: 
Access
DB2
Mysql
Oracle
PostgreSQL
SQL Server
Sybase
其他数据库
  站内搜索: 
热门文章排行
热门文章排行 ACCESS中使用SQL语句(04-12)
SQLServer和Access、Excel数据传输 (04-23)
把Access转成SQL数据库的方法介绍(04-17)
SQL和Access操作数据库结构SQL语句(04-17)
在Access数据库中使用SQL Server语句(05-23)
精采文章排行
精采文章排行 步步精细教你AS/400 DB2数据导入Acce(06-29)
如何把Access转成SQL Server的方法介(06-29)
推荐:ASP+Access数据库安全隐患及对(06-29)
教你如何检查Access数据库中数据有效(06-29)
如何利用Access数据库打印带相片的证(06-29)
  ·推荐:ASP+Access数据库安全隐患及对策 ·教你如何检查Access数据库中数据有效性 ·如何利用Access数据库打印带相片的证件 ·如何用Access实现学校课程表的科学管理 ·讲解如何用Maxthon Access远程登录电脑 ·教你ASP.NET 2如何随机读取Access记录 ·如何使用制表控制器简化Access对表操作 ·Access中如何指定工作组从而启动MDB文件 ·专家浅谈Access数据库精髓并非VBA之中

怎么样Perl使用Access数据库的最终版

作者:Webmaster   来源:csdn    点击:   日期:2007-04-23 [收藏] [投稿]

  IE是否经常中毒?推荐您

先是安装模块 DBI, DBD::ODBC 。这和Win32::ODBC不同,应该说没有DBI::DBD的组合好。

首先,Win32::ODBC需要你单独学习它的接口,而DBI是一个顶层的模块,学会了DBI,写出来的程序不光Access(还有Windows的其他),连MySQL,Sybase,Oracle...都适用,而你所作的修改只是connect的参数变一变。

再者,DBD::ODBC不光可以在Windows里使用,linux, unix都可以用,你有试过Linux里读取Acccess数据库吗?DBD::ODBC就可以。

说说安装,简单起见,默认大家装的都是ActivePerl,在模块下载里DBI.zip和DBD-ODBC.zip。参照说明ppm install xxx.ppd就可以了。

也可以在线安装,

在命令行窗口模式下:

c:>ppm
     PPM interactive shell (2.1.5) - type 'help' for available commands.
     ppm>install DBI
     ppm>install DBD-ODBC
     ppm>quit
  再来准备Access数据库,用Access随便做一个数据库。

例如数据库在c:\temp\try.dbm,里面有一个表:table1,里面三个字段,几条记录,都无所谓。

写个Perl程序调用,我只保留了最关键的,至于什么HTTP头,自己理解。

use DBI;
use strict;

# 下面的四行是测试环境的,可以看到已经安装的驱动
#my @driver_names = DBI->available_drivers;
#print "@driver_names\n","\n";
#my @data_sources = DBI->data_sources("ODBC");
#print "@data_sources\n","\n";

# 开始连接
my $DSN = "driver=Microsoft Access Driver (*.mdb);dbq=C:\\temp\\try.mdb";
my $dbh = DBI->connect("dbi:ODBC:$DSN",'','')
or die "Can't connect to Database: $DBI::errstr";

# 读取记录
my $sth = $dbh->prepare( q{
          SELECT * FROM table1
}) or die "Can't prepare statement: $DBI::errstr";
my $rc = $sth->execute
or die "Can't execute statement: $DBI::errstr";

# 显示出前三列
print "Query will return $sth->{NUM_OF_FIELDS} fields.\n\n";
print "Field names: @{ $sth->{NAME} }\n";
my  $ary_ref;
while ( $ary_ref = $sth->fetchrow_arrayref) {
print "$ary_ref->[0] : $ary_ref->[1] : $ary_ref->[2]\n";
}

# 关闭连接
die $sth->errstr if $sth->err;
$dbh->disconnect;

请先在Dos窗口中运行,这样有什么错都看得清清楚楚的。

对了,还要注意一点,运行Perl程序的时候,要把Access里的数据库关掉,要不会连接失败的。

备注:MySQL的安装:

c:>ppm 
PPM interactive shell (2.1.5) - type 'help' for available commands. 
ppm>install DBI 
ppm>install DBD-MySQL
ppm>quit


 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Office中Word与Access数据交流技巧   下一篇:SQLServer和Access、Excel数据传输总结
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论

   相关文章:
·如何把Access转成SQL Server的方法介绍

   文章评论:(1条)
  
 请留名: 匿名评论   点击查看所有评论 论坛讨论
 

 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。