歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> PERL編程 >> 通過 Perl 存取 mSQL 和 MySQL 的內容

通過 Perl 存取 mSQL 和 MySQL 的內容

日期:2017/2/27 9:27:25   编辑:PERL編程
  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看結果。




Copyright © Linux教程網 All Rights Reserved