Perl中的MySQL错误(错误代码2)
我是Perl方面的新手。我有一个小潜艇Perl中的MySQL错误(错误代码2),mysql,perl,Mysql,Perl,我是Perl方面的新手。我有一个小潜艇 sub processOpen{ my($filename, $mdbh)=@_; my($qr, $query); # parse filename to get the date extension only # we will import the data into the table with this extension # /home//logs/open.v7.20120710_2213.log
sub processOpen{
my($filename, $mdbh)=@_;
my($qr, $query);
# parse filename to get the date extension only
# we will import the data into the table with this extension
# /home//logs/open.v7.20120710_2213.log
my(@fileparts) = split(/\./, $filename);
my(@filedateparts) = split(/_/, $fileparts[2]);
my($tableext) = $filedateparts[0];
$query = "LOAD DATA INFILE '" . $filename . "' INTO TABLE open_" . $tableext . " FIELDS TERMINATED BY '||' LINES TERMINATED BY '\n'
(open_datetime, open_date, period,tag_id)";
$qr = $$mdbh->prepare($query);
$qr->execute(); # causes error (see below)
$qr->finish();
}
我得到了以下错误:
DBD::mysql::st execute失败:无法获取“/home/logs/open..v7.20120710_2213.log”的状态,错误代码:2位于/home/thisfile.pm第32行
第32行是$qr->execute 错误代码2很可能是找不到文件
你的文件存在吗?请注意,如果在MySQL数据库之外的单独主机上运行perl,则文件必须位于数据库主机上,而不是客户端主机上。这是找不到的文件的GobbleDeBook版本。mysql没有访问该目录树的权限,或者该文件不存在。谢谢,但是文件在那里,perms是正确的…文件名打开了吗..v7。。。有两个点,或打开。v7。。。用一个点?那么你输入的错误信息是不是错了?或者您是否将错误的$filename参数传递给了您的子例程?我错过了错误消息开头的DBD::。