关闭

Perl DBI 入门和Perl DBI连接MySQL数据库

标签: perlmysql数据库databaseinsertinterface
1686人阅读 评论(0) 收藏 举报
分类:

本文是以 Perl DBI Examples 为蓝本,配合 DBMaker 好学易用的特性,以及几个浅显易懂的例 子,希望能够一步步地带领使用者学习 Perl DBI modules 存取 DBMaker 资料库的方法。而原作者 撰写主要原动力是希望藉由这篇文章的问世,以降低 DBI mailing list 中一再重出现的 FAQ

 

读完本文之後,我们就能学到利用 DBI 建立一个完备的资料库程式。 以下就先由 DBI 的基本功能 开始,然後再逐步研究改善效能与可靠度技巧。

 

基本功能

DBI - Database independent interface for Perl. Perl DBI Perl 程式语言存取资料库时的 标准应用程式介面 (API) DBI 中定义了一组函数、变数和一致性的资料库介面, 可满足与特定 资料库无关的特性。

 

值得一提的,DBI 只是一个程式介面,利用一组十分轻巧的层面, 将你的应用程式与一个以上的资 料库驱动程式紧密地结合在一起, DBI 的架构主要只是提供标准的介面,目的是为了方便使用者下 达一些简单的指令, 就可以轻易地让那些驱动程式发挥作用

 

首先该做的事就是建构以及安装 DBI 详细的步骤可参考 DBI INSTALL 文件中有说明. 然後再来 就是建构出所需的资料库驱动程式,或是参考 DBD. 在每个 DBD 套件中都应该会有建构程序。 其他 Perl 模组相较之下, 安装 DBI/DBD 步骤算是相当容易

 

 localhost:~/DBI-1.08$ perl Makefile.PL && make

        && make test && make install

DBI DBD 安装完成之後, 您可以执行下列指令阅读更多的资讯:

 

 localhost:~$ perldoc DBI

建立连线

每一种资料库都有不同的连线方式, 若是想知道特殊用法, 请务必阅读 DBD 所提供的说明文 件。 下面的例子是连线到 DBMaker 的基本方法.

 

use strict;

use DBI;

 

my $dbh = DBI->connect( 'dbi:DBMaker:dbsample',

                        'jerry',

                        'jerrypassword',

                      );

   

上述的 connect 函数用到了三个参数: 资料来源名称 (data source name, DSN), 使用者名称和密 码。 其中 DSN 的格式为 dbi:DriverName:instance. 不过我们要如何知道连线成不成功呢? 首先 可以查看 connect 的传回值,true 代表成功,false 就是代表失败。 其次,当有错误发生 时, DBI 会把错误讯息存放在 package variable $DBI::errstr 之中。

 

use strict;

use DBI;

 

my $dbh = DBI->connect( 'dbi:DBMaker:dbsample',

                        'jerry',

                        'jerrypassword',

                      )

          || die "Database connection not made: $DBI::errstr";

$dbh->disconnect();

   

结束资料库连线请使用</