Perlの下でAccessデータベースに接続する方法を教えます(回転)
2918 ワード
Perlの下でAccessデータベースに接続する方法を教えます
この文書では、Perlの下でAccessデータベースに接続する方法を説明します.
一.Win 32-ODBCモジュールの取り付け
手順1:
TOOLS欄からWin 32-ODBC.zipをダウンロードし、ダウンロードした後winzipで1つのtempディレクトリに解いて、全部で3つのファイルがあります:
手順2:
DOSウィンドウの下で、tempディレクトリで次のDOSコマンドを実行します:ppminstall Win 32-ODBC.ppd.
二.テスト用データベースの準備(Access)
手順1:
MS ACCESSを起動し、odbctest.mdbという名前の新しい空のデータベースを作成し、ディレクトリに保存します(パスを覚えてください).
手順2:
次に、テーブルを新規作成し、3つのフィールドを作成します.
このテーブルをaddressとして保存します(この例では、自動的に追加されたIDは使用されません.いくつかのレコードを入力します.
保存後、データベースファイルを閉じます.
手順3:
コントロールパネルのODBCデータソース(32ビット)を開き、ユーザーDSNバーでユーザーデータソースのリストを見つけ、「MS Access 97 Database」という名前の行を選択し、「構成」キーを押します.
Databaseボックスで「Select.」を押して、手順1.2で作成したデータベースファイルodbctest.mdbを選択し、OKを押します.ODBC設定の他の項目はすべてデフォルト設定を採用し、OK、OK、OK、ダイアログウィンドウを閉じます.
三.テスト:
この文書では、Perlの下でAccessデータベースに接続する方法を説明します.
一.Win 32-ODBCモジュールの取り付け
手順1:
TOOLS欄からWin 32-ODBC.zipをダウンロードし、ダウンロードした後winzipで1つのtempディレクトリに解いて、全部で3つのファイルがあります:
Readme
Win32-ODBC.ppd
Win32-ODBC.tar.gz
手順2:
DOSウィンドウの下で、tempディレクトリで次のDOSコマンドを実行します:ppminstall Win 32-ODBC.ppd.
二.テスト用データベースの準備(Access)
手順1:
MS ACCESSを起動し、odbctest.mdbという名前の新しい空のデータベースを作成し、ディレクトリに保存します(パスを覚えてください).
手順2:
次に、テーブルを新規作成し、3つのフィールドを作成します.
Name , 50
Email , 50
Age 、
このテーブルをaddressとして保存します(この例では、自動的に追加されたIDは使用されません.いくつかのレコードを入力します.
Nighthawk [email protected] 20 1234567
John [email protected] 24 0284393293
kit [email protected] 18 3948932
保存後、データベースファイルを閉じます.
手順3:
コントロールパネルのODBCデータソース(32ビット)を開き、ユーザーDSNバーでユーザーデータソースのリストを見つけ、「MS Access 97 Database」という名前の行を選択し、「構成」キーを押します.
Databaseボックスで「Select.」を押して、手順1.2で作成したデータベースファイルodbctest.mdbを選択し、OKを押します.ODBC設定の他の項目はすべてデフォルト設定を採用し、OK、OK、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', '[email protected]', 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();