in reply to Re: problems with ODBC...
in thread problems with ODBC...

now im getting this error
DBI->connect('driver=Microsoft Access Driver (*.mdb); dbq=test.mdb') f +ailed: [Microsoft][ODBC Driver Manager] Invalid string or buffer leng +th (SQL-S1090)(DBD: db_login/SQLConnect err=-1) at c:\foxserv\apache\ +cgi-bin\access.pl line 7
i still dont know what this means

Replies are listed 'Best First'.
Re: Re: Re: problems with ODBC...
by Ineffectual (Scribe) on Jan 29, 2002 at 05:19 UTC
    Sounds like your connect string isn't correct. I found  $dbh = DBI->connect("DBI:ODBC:$odbc", $user, $pass); where $odbc is the name given to a system DSN that you set through the control panel. $user = username $pass = password - recommended in a reply elsewhere (credit to Ian Summers). If that doesn't work I'd suggest looking up docs on DBI on the connect string.

    'Fect
      well, ive modified my code slightly, and this is the error that im getting now
      Can't locate object method "execute" via package "DBI::db" (perhaps yo +u forgot to load "DBI::db"?) at c:\foxserv\apache\cgi-bin\access2.pl +line 12.
      and heres what my code looks like
      #!C:/Perl/bin/perl.exe use CGI::Carp "fatalsToBrowser"; use CGI qw(:standard); use DBI; print header(); my $DSN = 'driver=Microsoft Access Driver (*.mdb);dbq=C:/FoxServ/Apach +e/cgi-bin/test.mdb'; my $dbh = DBI->connect("dbi:ODBC:$DSN", '','') or die "$DBI::errstr\n"; $dbh->execute(); @information = $dbh->fetchrow_array; foreach $test (@information){ print $test; print "\n<br>\n"; } $dbh->disconnect; $dbh->finish;
      what do i do?
        what do i do?

        You dropped the line that prepares the query (and you renamed a variable). $dbh is holding a connection object, not a statement handle object. Your original example got this part right.