1

我正在尝试使用 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 子文件夹的 DBD 子文件夹。 /lib/DBD/mysql/&`/lib/DBI/DBD/mysql/`

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

4

2 回答 2

5

安装DBIDBD::mysql使用

C:\> ppm 安装 DBI
C:\> ppm 安装 DBD::mysql

您似乎在使用 ActivePerl,因此请使用它为您提供的工具。

DBD::mysql确实带有文档

从 perl 你用语句激活接口

use DBI;

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

my $dbh = DBI->connect("DBI:mysql:database=$db;host=$host",
                  $user, $password, {RaiseError => 1});
于 2012-04-09T17:01:33.083 回答
4

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

于 2012-04-09T15:50:48.507 回答