gpt4 book ai didi

mysql - DBD::MySql 初始化失败:使用生物信息学工具 OrthoMCL 时无法通过包 "driver"定位对象方法 "DBD::MySql"

转载 作者:行者123 更新时间:2023-11-29 01:41:39 25 4
gpt4 key购买 nike

我正在尝试在 Ubuntu 12.04 上运行生物信息学工具 OrthoMCL。此工具需要一个 MySQL 数据库来进行数据处理。我的 SQL 数据库运行良好,版本为 5.5.34。 OrthoMCL 包含一些运行到命令行的 Perl 脚本。当我运行使用以下模块的 a 时,出现以下错误:

mark@CMBIPC34:~/Bureaublad/OrthoMCL/orthomclSoftware-v2.0.9/bin$ perl orthomclLoadBlast '/home/mark/Bureaublad/my_orthomcl_dir/orthomcl.config' '/home/mark/Bureaublad/my_orthomcl_dir/compliantFasta/similarSequences.txt'
DBD::MySql initialisation failed: Can't locate object method "driver" via package "DBD::MySql" at /usr/local/lib/perl/5.14.2/DBI.pm line 821, <F> line 14.

Perhaps the capitalisation of DBD 'MySql' isn't right. at /home/mark/Bureaublad/OrthoMCL/orthomclSoftware-v2.0.9/bin/../lib/perl/OrthoMCLEngine/Main/Base.pm line 56

模块是:

use DBI;
use FindBin;
use lib "$FindBin::Bin/../lib/perl";
use OrthoMCLEngine::Main::Base;
use strict;

当我运行这个脚本来测试已安装的模块时

use DBI;
print "Available DBI Drivers and Data Sources:\n\n";
@drivers;
my @drivers=DBI->available_drivers('quiet');
my @sources;
foreach my $driver (@drivers) {
print "$driver\n";
@sources=eval { DBI->data_sources($driver) };
if ($@) {
print "\tError: ",substr($@,0,60),"\n";
} elsif (@sources) {
foreach (@sources) {
print "\t$_\n";
}
} else {
print "\tNo known data sources\n";
}
}

我得到这个结果:

Available DBI Drivers and Data Sources:

DBM
DBI:DBM:f_dir=Verwijzing naar Stage-documenten
DBI:DBM:f_dir=my_orthomcl_dir
DBI:DBM:f_dir=Dropbox
DBI:DBM:f_dir=OrthoMCL
DBI:DBM:f_dir=MySQL
DBI:DBM:f_dir=.
DBI:DBM:f_dir=mcl-12-068
ExampleP
dbi:ExampleP:dir=.
File
DBI:File:f_dir=Verwijzing naar Stage-documenten
DBI:File:f_dir=my_orthomcl_dir
DBI:File:f_dir=Dropbox
DBI:File:f_dir=OrthoMCL
DBI:File:f_dir=MySQL
DBI:File:f_dir=.
DBI:File:f_dir=mcl-12-068
Gofer
No known data sources
Multiplex
No known data sources
MySql
Error: DBD::MySql initialisation failed: Can't locate object method
Proxy
No known data sources
Sponge
No known data sources
mysql
DBI:mysql:information_schema

当我尝试在命令行中进入下载的文件夹 DBD-mysql-4.025 时,我得到了这个错误:

perl 生成文件.PL

没有错误

制作

/usr/bin/ld: cannot find -lmysqlclient
collect2: ld gaf exit-status 1 terug
make: *** [blib/arch/auto/DBD/mysql/mysql.so] Fout 1

进行测试

和make一样的错误

安装

和make一样的错误

我也尝试通过 cpan[1]> 安装 DBD::mysql 并得到这个错误:

/usr/bin/ld: cannot find -lmysqlclient
collect2: ld gaf exit-status 1 terug
make: *** [blib/arch/auto/DBD/mysql/mysql.so] Fout 1
CAPTTOFU/DBD-mysql-4.025.tar.gz
/usr/bin/make -- NOT OK
Running make test
Can't test without successful make
Running make install
Make had returned bad status, install seems impossible
Failed during this command:
CAPTTOFU/DBD-mysql-4.025.tar.gz : make NO

哪里可以找到-lmysqlclient,我在电脑硬盘上找不到这个文件。

运行这个测试 perl 脚本时没有出现问题:

 #!/usr/bin/perl -w
use DBI;
$dbh = DBI->connect('dbi:mysql:orthomcl','root','')
or die "Connection Error: $DBI::errstr\n";
$sql = "show tables";
$sth = $dbh->prepare($sql);
$sth->execute
or die "SQL Error: $DBI::errstr\n";
while (@row = $sth->fetchrow_array) {
print "@row\n";
}

在这种情况下,数据库 OrthoMCL 的表将正确显示,没有任何错误消息。

希望有人能帮我解决这个问题。

最佳答案

“可能‘MySql’的大小写不对。”

您的connect 语句是否使用了正确的大小写?

$dbh = DBI->connect("dbi:mysql:...", ...);

关于mysql - DBD::MySql 初始化失败:使用生物信息学工具 OrthoMCL 时无法通过包 "driver"定位对象方法 "DBD::MySql",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19838546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com