加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何使用Perl连接到MS Access数据库?

发布时间:2020-12-15 23:23:07 所属栏目:大数据 来源:网络整理
导读:我在本地计算机上有一个.accdb文件,我正在尝试连接它并从数据库中的3个表中读取一些数据.如何使用Perl建立连接? 到目前为止,我已经为MS Access拼凑了这么多,但我收到错误,说我没有使用正确的驱动程序.有任何想法吗? my $msaccess_dbh = DBI-connect( 'dbi:
我在本地计算机上有一个.accdb文件,我正在尝试连接它并从数据库中的3个表中读取一些数据.如何使用Perl建立连接?

到目前为止,我已经为MS Access拼凑了这么多,但我收到错误,说我没有使用正确的驱动程序.有任何想法吗?

my $msaccess_dbh = DBI->connect(
    'dbi:ODBC:driver=microsoft access driver (*.accdb);' .
    'dbq=C:pathtodatabasedatabasefile.accdb'
);

谢谢!

编辑:只是为了澄清,我在这里没有真正的要求.我只需要从这个MS Access DB中做2或3个选择,然后我将完成它.所以任何有关连接和选择的帮助都会很棒.再次感谢.

解决方法

根据您的连接字符串,它看起来像是(a)在Win32上,(b)连接到本地计算机上的数据库.如果我是正确的,当你可以直接连接Jet时,为什么还要烦扰ODBC呢?参考下文:

#!/usr/bin/perl
use strict;use warnings;

use Win32::OLE;

my $DBFile  = qw( X:PathToYourDatabase.mdb ); # 
#Choose appropriate version of Jet for your system
my $Jet = Win32::OLE->CreateObject('DAO.DBEngine.36')   or die "Can't create Jet database engine.";
my  $DB = $Jet->OpenDatabase( $DBFile );

my $SQLquery = "DELETE * FROM Test_Table";
$DB->Execute($SQLquery,128); #128=DBFailOnError

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读