Perl で Microsoft Access の mdbファイルに接続する

投稿者: | 2011/03/15

Win32::OLE を使う

Perl で Microsoft Access の mdb ファイルに接続するには、
Win32::OLE ライブラリを使います。

例によって、詳しい情報はCPANで

use Win32::OLE;

# データベースプロバイダを指定。(Microsoft.Jet.OLEDB.4.0)
 my $con = 'Provider=Microsft.Jet.OLEDB.4.0;';
# 接続先データベースを指定。(mdbファイルパス)
    $con .= 'Data Source='hoge.mdb;';

# データベースオブジェクト生成・接続
 my $db = Win32::OLE->new('ADODB.Connection');
    $db->Open($con);

# SQL
 my $sql = 'SELECT foo, bar, buz FROM fuga;';

# SQL 実行・レコードセット生成
 my $rs = $db->Execute($sql);

# 例)レコードセット全件処理
 my $text = 'Content-type: text/plainnn';

 while ( !$rs->EOF ){

     my $foo = $rs->Fields('foo')->Value;
     my $bar = $rs->Fields('bar')->Value;
     my $buz = $rs->Fields('buz')->Value;

    $text .= "$foo, $bar, $buz r";

    $rs->MoveNext;
};

print $text;

# レコードセットを閉じる
$rs->Close();
# 接続を閉じる
$db->Close();

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください