Update: Your error message says that it can't find the database file. You should give the full path name.sub conn { my $dbistring; # $dbistring = 'dbi:ADO:Provider=Microsoft.Jet.OLEDB.4.0;Data Sour +ce='; # 32bit # $dbistring = 'dbi:ADO:Provider=Microsoft.ACE.OLEDB.12.0;Data Sou +rce='; # 64bit $dbistring = 'dbi:ODBC:Driver={Microsoft Access Driver (*.mdb, *.a +ccdb)};DBQ='; my $dbh = DBI->connect($dbistring . shift) or die "C ", $DBI::errs +tr; return $dbh; }
Windows can in most cases deal with file paths given with '/' instead of '\' - helps much against leaning toothpick syndrome (and "//server/share/folder/file.accdb" looks much nicer than "\\\\server\\share\folder\file.accdb", anyway). In addition, Path::Tiny helps.
I use it likeuse DBI; use Path::Tiny 'path'; ... my $dbname = path '//server/share/whatever/it is.mdb'; $dbh = conn $dbname->canonpath; ...
In reply to Re: Connection Problem to MS Access Database using DBI
by soonix
in thread Connection Problem to MS Access Database using DBI
by merrymonk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |