繁体   English   中英

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

[英]Why do I get an error when I try to use Perl's 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 下还有一个 DBD 子文件夹和一个 MySQL 子文件夹。 /lib/DBD/mysql/ & `/lib/DBI/DBD/mysql/``

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

安装DBIDBD::mysql使用

C:\> ppm install DBI
C:\> ppm install DBD::mysql

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

DBD::mysql确实带有文档

从 perl 你用语句激活接口

use DBI;

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

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

不要use DBD::mysql use DBI 它会自动加载您的 MySQL 驱动程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM