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.

これらの「使用」ステートメントと次のコードがあります。DB 接続を試みる前にスクリプトが機能していたため、これはほんの一部の抜粋です。

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 ファイル ディレクトリを検索しました。サブフォルダーには、DBI と DBD サブフォルダーの 2 つの/lib/フォルダーがあり、DBD に MySQL サブフォルダーがあり、DBI の下に MySQL サブフォルダーがある DBD サブフォルダーもあります。 /lib/DBD/mysql/& `/lib/DBI/DBD/mysql/`

これはエラーである可能性があります。フォドラーが 2 か所あります。CPAN Web サイトにアクセスし、手動の isntall 手順を試しましたが、SQLLite に関する DBI のインストール エラーが表示されます。

4

2 に答える 2

5

インストールDBIDBD::mysqlて使用する

C:\>ppmインストールDBI
C:\>ppmインストールDBD:: mysql

ActivePerlを使用しているようですので、ActivePerlが提供する機能を使用してください。

DBD :: mysqlにはドキュメントが付属しています:

perlから、ステートメントを使用してインターフェイスをアクティブ化します

use DBI;

その後、複数のMySQLデータベースサーバーに接続し、単純なオブジェクト指向インターフェイスを介してそれらのサーバーのいずれかに複数のクエリを送信できます。データベースハンドルとステートメントハンドルの2種類のオブジェクトを使用できます。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 に答える