0
我是Perl中的完整新手。我有這個小分Perl中的MySQL錯誤(Errorcode 2)
sub processOpen{
my($filename, $mdbh)[email protected]_;
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 failed: Can't get stat of '/home/logs/open..v7.20120710_2213.log' (Errcode: 2) at /home/thisfile.pm line 32.
第32行是$qr->execute();
這是一個「未找到文件」的gobbledegook版本。任何一個mysql都沒有權限訪問該目錄樹,或者該文件不存在。 – 2012-03-19 22:29:48
謝謝,但文件在那裏,燙髮是正確的.... – Will22 2012-03-19 22:43:10
文件名是'open..v7' ...有兩個點,還是'open.v7' ...有一個點? – mob 2012-03-19 22:52:43