PERL串連ACCESS資料庫

來源:互聯網
上載者:User
PERL串連ACCESS資料庫

前題是必須安裝好activeperl (505以上),以及MS Access 97

一. 安裝Win32-ODBC模組
步驟1:
從TOOLS欄目中下載Win32-ODBC.zip,下載完後用winzip解開到一個temp目錄,共有三個檔案:
Readme
Win32-ODBC.ppd
Win32-ODBC.tar.gz
步驟2:
在DOS視窗下,temp目錄中運行下面的DOS命令:
ppm install Win32-ODBC.ppd

二. 準備測試用資料庫(ACCESS)
步驟1:
啟動MS ACCESS,建立一個新空資料庫,命名為odbctest.mdb,儲存在某一目錄中(記住路徑)。
步驟2:
然後建立一個表,建立三個欄位:
欄位名稱 資料類型
Name 字元,長度50
Email 字元,長度50
Age 數字,長整型

將這個表儲存為address(注意這個例子中,沒有用自動增加的ID).輸入若干記錄:
Nighthawk nighthawk@163.net 20 1234567
John jt@163.net 24 0284393293
kit kit@21cn.com 18 3948932

儲存後,關閉資料庫檔案。
步驟3:
開啟控制台中的 ODBC資料來源(32位),在使用者DSN欄中,找到使用者資料來源列表,選中名稱為“MS Access 97 Database”的一行,然後按“配置”鍵。
在Database框中按"Select..",選擇步驟1.2中建立的資料庫檔案odbctest.mdb,按OK即可。ODBC設定中的其它項目全部採用預設設定,然後就是OK,確定,關閉交談視窗。

三. 這時候,資料庫已經可以用了,我們來測試一下:

#!/usr/bin/perl

use Win32::ODBC;

$DSN = "MS Access 97 Database";
$DBase = "access.mdb";

#串連資料庫

if (!($db = new Win32::ODBC($DSN))){
print "串連資料庫失敗./n";
exit();
}
else{
print "串連資料庫成功 (串連號:", $db->Connection(), ")/n/n";
}

#資料庫中的表
print "資料庫中的表:";
@tables = $db->TableList;
print @tables;
print "/n";

#選擇資料表
if (! $db->Sql("SELECT * FROM [address] WHERE age>=20") ){

@FieldNames = $db->FieldNames();

$Cols = $#FieldNames + 1;

#表中欄位數
print "表address欄位數:$Cols/n";

#欄位列表
for ($i = 0; $i < $Cols; $i++){
print "$FieldNames[$i]/t";
}
print "/n";

#列出年齡大於20的記錄
while($db->FetchRow()) {
@values = $db->Data();
print @values;
print "/n";
}

}

##### sql #########
#添加記錄
$sqlinsert = "INSERT INTO address VALUES ('Euler', 'euler/@21cn.com', 28, '021-345689')";
#更新記錄
$sqlupdate = "UPDATE address SET age = age+10 ";
#刪除記錄
$sqldelete = "DELETE FROM address WHERE name='jimtyan'";

$rc = $db->Sql($sqlinsert);
die qq(SQL 失敗 "$sqlinsert": ), $db->Error(), qq(/n) if $rc;

$rc = $db->Sql($sqlupdate);
die qq(SQL 失敗 "$sqlupdate": ), $db->Error(), qq(/n) if $rc;

$rc = $db->Sql($sqldelete);
die qq(SQL 失敗 "$sqldelete": ), $db->Error(), qq(/n) if $rc;

#關閉連結
$db->Close();

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.