为什么当我尝试使用 Perl 的 DBD::mysql 时会出现错误?



我正在尝试使用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子文件夹,还有一个带有DBI 下的 MySQL 子文件夹。 /lib/DBD/mysql/ & '/lib/DBI/DBD/mysql/''

这可能是错误,在两个地方。 我去了CPAN网站,并尝试了手动步骤,并且我收到有关SQLLite的DBI安装错误。

使用 安装 DBIDBD::mysql

C:\> ppm 安装 DBIC:\> ppm install DBD::mysql

您似乎正在使用ActivePerl,因此请使用它为您提供的功能。

DBD::mysql 确实附带了文档:

从 perl 中,您可以使用语句激活接口

use DBI;

之后,您可以连接到多个MySQL数据库服务器并发送 通过简单的面向对象接口对其中任何一个进行多个查询。 有两种类型的对象可用:数据库句柄和语句 处理。Perl 向连接方法返回一个数据库句柄,如下所示:

my $dbh = DBI->connect("DBI:mysql:database=$db;host=$host",
                  $user, $password, {RaiseError => 1});

不要use DBD::mysql .只做use DBI.它将自动加载您的MySQL驱动程序。

最新更新