首先需要安裝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(), ")nn"; } #資料庫中的表 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欄位數:$Colsn"; #欄位列表 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(); |