Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Windows上没有这样的文件或目录_Windows_Perl_Csv_Dbi - Fatal编程技术网

在Windows上没有这样的文件或目录

在Windows上没有这样的文件或目录,windows,perl,csv,dbi,Windows,Perl,Csv,Dbi,我必须将我的perlscript迁移到一台新机器上,但是DBD::CSV不能像我预期的那样工作 我得到了为MSWin32-x86-multi-thread构建的ActiveState perl 5,版本16,subversion 3 v5.16.3 DBD-CSV版本为0.41,每次尝试都会产生以下结果: ################################################################# DBD::CSV::db do failed: Exec

我必须将我的perlscript迁移到一台新机器上,但是DBD::CSV不能像我预期的那样工作

我得到了为MSWin32-x86-multi-thread构建的ActiveState perl 5,版本16,subversion 3 v5.16.3

DBD-CSV版本为0.41,每次尝试都会产生以下结果:

#################################################################
DBD::CSV::db do failed: 

Execution ERROR: -d D:\TEST/D:\TEST: No such file or directory at D:/Programme/Perl/site/lib/DBI/DBD/SqlEngine.pm line 1503.
 called from D:\TEST\CSVTest.pl at 7.
#################################################################
即使是最简单的创建测试表

#################################################################
use DBI;

$dbh = DBI->connect ("dbi:CSV:");

my $table ="TestTable";

$dbh->do ("CREATE TABLE $table (id INTEGER, name CHAR (64))");
#################################################################
有什么建议吗

使现代化 不是真正的答案,但是对于一个注释来说太多了,未注释的$DBDIR是我不愿意使用的工作方式。我尝试了$DBDIR的所有注释版本,但都在与脚本C:\Temp相同的目录中创建了一个foo.csv。我想使用其他目录,因为脚本位于任何sugestion

use DBI;
my $DBDIR='C:\Temp\CSV-DB';
# my $DBDIR="C:\\Temp\\CSV-DB";
# my $DBDIR='C:\Temp\CSV-DB\\';
# my $DBDIR='..\CSV-DB';
# my $DBDIR="..\\CSV-DB";
# my $DBDIR='CSV-DB';
# my $DBDIR='\CSV-DB';
# my $DBDIR='\\CSV-DB';
# my $DBDIR='.\CSV-DB';
# my $DBDIR='/CSV-DB';
# my $DBDIR='./CSV-DB';
$dbh = DBI->connect ("dbi:CSV:", undef, undef, {
    f_dir               => [$DBDIR],
    #f_dir_search       => [$DBDIR],
    f_ext      => ".csv/r",
    RaiseError => 1,
    }) or die "Cannot connect: $DBI::errstr";

# Simple statements
$dbh->do ("CREATE TABLE foo (id INTEGER, name CHAR (10))");
##############################################################

我的windows PC上有这个问题

我发现它发生在DBI不是第一个要使用的模块时。 通过使用DBI;作为第一个模块,问题已经消失。
我还没有试图确定到底是哪个模块导致了问题。我正在使用CGI、Archive::Zip、POSIX等..

add'或die Cannot connect:$DBI::errstr'从连接调用中获取错误报告。WTF!!它只出现在Komodo IDE的调试中。如果没有调试,它似乎可以工作。表的创建