What version of DBD::ODBC are you using? What version of the Access driver are you using? When you copied to the local web server, what was the DSN you used?
Thanks, Jeff > -----Original Message----- > From: MacGown, Peter [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, March 12, 2002 12:21 PM > To: [EMAIL PROTECTED] > Subject: RE: MS Access/CGI/Apache on WinNT questions > > > Hi Jeff: > > This is a snippet of the code: > > use DBI; > > my $dsn = "driver=Microsoft Access Driver > (*.mdb);dbq=\\\\nrent01\\fssdata\\Roster03b.mdb"; > > DBI->trace(5, "c:/trace.txt"); > > my $dbh = DBI->connect("DBI:ODBC:$dsn","admin","xyzzy") || > print "<BR>Error Opening Database: $DBI::errstr\n"; > > my $sth = $dbh->prepare("SELECT [LNAME], [FNAME], [MI] FROM > T_EMPLOYEES") || > print "Error in Prepare: $DBI::errstr\n"; > > $sth->execute() || > print "<BR>Error: $DBI::errstr\n"; > > } > This is what I get: > > DBI 1.201-nothread dispatch trace level set to 5 > -> DBI->connect(DBI:ODBC:driver=Microsoft Access Driver > (*.mdb);dbq=\\nrent01\fssdata\Roster03b.mdb, admin, ****) > -> DBI->install_driver(ODBC) for MSWin32 perl=5.006001 pid=135 ruid=0 > euid=0 > install_driver: DBD::ODBC version 0.28 loaded from > d:/Perl/site/lib/DBD/ODBC.pm > New DBI::dr (for DBD::ODBC::dr, parent=, id=) > dbih_setup_handle(DBI::dr=HASH(0x1a31908)=>DBI::dr=HASH(0x191aa94), > DBD::ODBC::dr, 0, Null!) > dbih_make_com(Null!, DBD::ODBC::dr, 92) > dbih_setup_attrib(DBI::dr=HASH(0x191aa94), Err, Null!) > SCALAR(0x1b79f18) > (already defined) > dbih_setup_attrib(DBI::dr=HASH(0x191aa94), State, Null!) > SCALAR(0x1b79f60) (already defined) > dbih_setup_attrib(DBI::dr=HASH(0x191aa94), Errstr, Null!) > SCALAR(0x1b79f3c) (already defined) > dbih_setup_attrib(DBI::dr=HASH(0x191aa94), Handlers, Null!) > ARRAY(0x191aa10) (already defined) > dbih_setup_attrib(DBI::dr=HASH(0x191aa94), Debug, Null!) 0 (already > defined) > dbih_setup_attrib(DBI::dr=HASH(0x191aa94), FetchHashKeyName, Null!) > 'NAME' (already defined) > <- install_driver= DBI::dr=HASH(0x1a31908) > -> connect for DBD::ODBC::dr (DBI::dr=HASH(0x1a31908)~0x191aa94 > 'driver=Microsoft Access Driver > (*.mdb);dbq=\\nrent01\fssdata\Roster03b.mdb' > 'admin' **** HASH(0x191ef94)) > > Also, I get a Dr. Watson on the NT machine saying Perl.exe choked. > > Any suggestions? > > Thanks, > Pete > > -----Original Message----- > From: Jeff Urlwin [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, March 12, 2002 11:35 AM > To: MacGown, Peter; [EMAIL PROTECTED] > Subject: RE: MS Access/CGI/Apache on WinNT questions > > > Pete, > > Right before the connect, do the following: > > DBI->trace(5, "c:/trace.txt"); > > Then, send me the trace.txt from the web server's C: drive. (and, look at > it yourself to see if the error is recognizable). > > Some other questions... > What version of DBD::ODBC are you using? > Are you using MS-Access security? > Does the web server user have access to the admin database? > > Regards, > > Jeff > > > -----Original Message----- > > From: MacGown, Peter [mailto:[EMAIL PROTECTED]] > > Sent: Tuesday, March 12, 2002 10:05 AM > > To: [EMAIL PROTECTED] > > Subject: RE: MS Access/CGI/Apache on WinNT questions > > > > > > Jeff, > > You are correct that it does work from the command line. The share name > > "fssdata" share is accessible to me, but just to verify that > > something funky > > isn't going on, I copied the mdb file over to the web server > and tried to > > run it from there. I still got the same message. > > As a newbie to perl and apache, I took on a task of trying to > set up a web > > application to cut my teeth. The existing application has > proven all too > > successful and the user population has outgrown MS Access. An > > Oracle server > > is in the works, but until then, I need to get it up and > running using MS > > Access. > > I Know that this question is perl-101, but, given my inexperience > > with perl, > > what do you mean by "...set a trace file and set the DBI > tracing level to > > 4..."? > > Thanks, > > Pete MacGown > > > > -----Original Message----- > > From: Jeff Urlwin [mailto:[EMAIL PROTECTED]] > > Sent: Monday, March 11, 2002 9:22 PM > > To: MacGown, Peter; [EMAIL PROTECTED] > > Subject: RE: MS Access/CGI/Apache on WinNT questions > > > > > > That, unfortunately, can be a bad message because of the way that > > DBD::ODBC > > handles opening the database. What's happening is that DBI > can't open the > > database using the "DSN-less" style open (SQLDriverConnect) which > > fails and > > then tries to call SQLConnect, which expects a 32? character or > > less DSN. I > > hope to make this better in the future... > > > > In the mean time, I'm going to guess that this may work from the command > > line and not from the CGI. If that's not the case, this may or may not > > apply. > > Check the share name "fssdata" and ensure it's accessible from the > > username > > starting the web service (make sure the web server is not being > started as > > local system, either, as that will have NO access to the network). > > > > IF that doesn't work, set a trace file and set the DBI tracing > level to 4 > > (or above) and post it back here. > > > > Jeff > > > > > > > > Hi, > > > I hope other people have been successful at getting CGI scripts > > > running that > > > access MS Access because I haven't. Here is a snippet of > code that I am > > > trying to get to work: > > > > > > #!d:/perl/bin/perl -wT > > > > > > use DBI; > > > > > > my $dsn = "driver=Microsoft Access Driver > > > (*.mdb);dbq=\\\\nrent01\\fssdata\\Roster03b.mdb"; > > > my $dbh = DBI->connect("DBI:ODBC:$dsn","admin","xyzzy") || > > > print "<BR>Error Opening Database: $DBI::errstr\n"; > > > > > > But I get this message: > > > > > > Error Opening Database: [Microsoft][ODBC Driver Manager] > > Invalid string or > > > buffer length (SQL-S1090)(DBD: db_login/SQLConnect err=-1) > > > > > > Am I doing something amazingly stupid and just can't see it? > Is there a > > > better way to get to an MS Access database? > > > > > > Please help! > > > > > > Thanks, > > > Pete MacGown > > > > > > > > > > > > > > >
