There are probably a few things here.  Apache typically runs under a
different user as a Windows service.  Typically, this is the local
system user.  Local System doesn't have access to UNC (network) drives.
You need to make the service run as a network-capable user.  Keep using
UNCs.  Drive mappings in services, to say the least, are a mess.  

If you can move the db to a local drive to test (if it's NTFS, also
ensure the user has permissions to the path :)), that should help
isolate the problem to Apache/DBI/DBD::ODBC and get rid of (at least
temporarily) the UNC/Network as an issue.

Then, as far as the environment goes, if you don't specify the Env as
per the other posts, you won't get the environment.  However, I see
here, you are using a UNC to an MDE?  I'm not sure what that is (typo?
Encrypted MDB?).

Jeff

> -----Original Message-----
> From: Robert Hicks [mailto:[EMAIL PROTECTED]
> Sent: Thursday, March 23, 2006 7:13 AM
> To: dbi-users@perl.org
> Subject: DBD::ODBC in a web application
> 
> If I create a test script to connect to a Microsoft Access database
that
> is on a network (UNC) drive I can connect to it fine.
> 
> If I try to do the same thing from a web application running under
> Apache I get the following error:
> 
> Error executing run mode 'display_task_page': Can't connect to data
> source driver=Microsoft Access Driver
>
(*.mdb);dbq=\\Resolver\Users\BHicks\Public\Project_task_report_2003.mde,
> no database driver specified and DBI_DSN env var not set at
> C:/Perl/site/lib/CGI/Application/Plugin/DBH.pm line 42
>   at D:/Projects/www/DEV/exp/index.cgi line 14
> 
> I have tried mapping that UNC path to a local drive letter as well
with
> the same error.
> 
> I am not sure if the problem resides with Apache, the modules I am
using
> for the web application of DBD::ODBC itself.
> 
> Any pointers?
> 
> Robert

Reply via email to