我正在尝试使用Perl将数据写入MySQL数据库。但是,当我运行我的脚本时,我收到以下错误:
Can't locate loadable object for module DBD::mysql in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at LargeLDAPSearch.pl line 10.
我确实有这些“使用”语句和以下代码。这只是一个小的摘录,因为在我尝试数据库连接之前脚本工作了:
use DBD::mysql;
use strict;
use warnings;
my $query_handle;
my ($platform,$database,$host,$port,$db_user,$pw) = ("mysql","results","localhost","3306","root","mysql123");
my $dsn = "dbi:$platform:$database:$host:$port";
my $connect = DBI->connect($dsn,$db_user,$pw) || die "Could not connect to database";
my $query_insert = "INSERT INTO " . $dbname . "(uid,status,lstpwdset,reset) VALUES (" . $strSAMA . "," . $strAcctControl . "," . $pwLS . "," . $reset . ")";
$query_handle = $connect->prepare($query_insert);
$query_handle->execute();
我已经进入了我本地的Perl文件夹,并搜索了lib文件
目录。在/lib/
子文件夹中,我有两个文件夹,DBI和DBD
子文件夹,我在DBD中有MySQL子文件夹,也有一个DBD子文件夹
DBI下的MySQL子文件夹。 /lib/DBD/mysql/
& `/ LIB / DBI / DBD / MySQL的/``
这可能是错误,两个地方的fodlers。我去了CPAN网站,尝试了手册isntall步骤,我收到了关于SQLLite的DBI安装错误。
答案 0 :(得分:5)
使用
安装DBI
和DBD::mysql
C:\> ppm install DBI C:\> ppm install DBD::mysql
您似乎正在使用ActivePerl,因此请使用它为您提供的设施。
从perl你用语句
激活界面
use DBI;
之后,您可以连接到多个MySQL数据库服务器并发送 通过简单的面向对象的接口对其中任何一个进行多次查询。 有两种类型的对象:数据库句柄和语句 处理。 Perl返回一个连接方法的数据库句柄,如下所示:
my $dbh = DBI->connect("DBI:mysql:database=$db;host=$host",
$user, $password, {RaiseError => 1});
答案 1 :(得分:3)
不要use DBD::mysql
。只做use DBI
。它会自动加载你的MySQL驱动程序。