OK, It doesn't work again. It gives me the following error: Error: Win32::ODBC=HASH(0x1abf118)->ErrorDatabase results: first name and last name > > ----- Original Message ----- > From: "Angel Iliev Kafazov" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Thursday, November 14, 2002 11:58 AM > Subject: Re: accessing ACCESS database > > > > Thank you very much for the support. I tried whatever you recommended > me > > and I isolated the error in the sql statement. The script connects to > the > > database and returns defined $db var but after this it cannot execute > the > > sql. I double-checked my table and columns, though I still have no > idea > > why it is not working:( > > > > > > the script: > > > > > > use Win32::ODBC; > > > > $DSN="db1"; > > my($db) = new Win32::ODBC("db1") || die "Cannot open connection to > > database"; > > > > die "Error: " . Win32::OLE->LastError if !$db; > > > > $db->Sql("SELECT owner_first_name, owner_last_name FROM Owners WHERE > > ID=11") || die > > "Cannot execute sql statement"; > > > try it with single quotes on 11 > > $db->Sql("SELECT owner_first_name, owner_last_name FROM Owners WHERE > ID='11'")) die .... > ^^^^^ > Hope that helps > > if ($db->Error()) { > > print "Error: $db->Error"; > > > > } > > > > > > ($ownerfname,$ownerlname) = $db->FetchRow(); > > > > print "Database results: first name $ownerfname and last name > > $ownerlname\n"; > > > > > > $db->finish; > > > > $db->disconnect || die "Cannot disconnect from database"; > > > > > > > > Douglas Gardiner <[EMAIL PROTECTED]>: > > > > > > > > ----- Original Message ----- > > > From: "Beau E. Cox" <[EMAIL PROTECTED]> > > > To: "Angel Iliev Kafazov" <[EMAIL PROTECTED]>; > <[EMAIL PROTECTED]> > > > Sent: Wednesday, November 13, 2002 6:55 PM > > > Subject: RE: accessing ACCESS database > > > > > > > > > > Hi - > > > > > > > > I have never heard of the "Sql" method in DBI. Something like > this > > > works: > > > > > > > That's because he's using a different module and not the DBI > module. > > > It's > > > Win32:ODBC > > > > > > From what I remember, been a long time. Unless you check that the > > > object > > > was called correctedly at the beginning, you will get that error. > Few > > > things to check are: > > > > > > make sure DSN is setup and the name is the same. > > > make sure you have the module installed > > > the ever so popular constant error checking to make sure not only > that > > > it > > > connects but also a graceful exit upon error or some kind of error > > > trapping > > > in case the SQL statements or anything else fail. > > > > > > Alos with this setup the datbase must be on that machine otherwise > you > > > need > > > to use the proxy module for connection. Either way, the initial > call > > > must > > > be checked when using Win32:ODBC to make sure it connects. It > doesn't > > > complain until you make another call otherwise. > > > > > > something like: > > > > > > $db = new Win32::ODBC("db1") || die "cannot open database"; > > > > > > at least you will know if it connects. There are other methods to > use, > > > but > > > I do not remember since I personally use DBI so much. > > > > > > > use strict; > > > > use warnings; > > > > use DBI; > > > > > > > > my $dbh = DBI->connect("DBI:ODBC:cpan") > > > > || die "could not connect to > ODBC:MyDatabase:\n$DBI::errstr\n"; > > > > > > > > my $stmt = "select * from modules;"; > > > > > > > > my $sth = $dbh->prepare($stmt); > > > > $sth || > > > > die "could not prepare ($stmt):\n$DBI::errstr\n"; > > > > > > > > my $rv = $sth->execute > > > > || die "could not execute ($stmt):\n$DBI::errstr\n"; > > > > > > > > while (my $row_ref = $sth->fetchrow_arrayref) { > > > > print "$_\t" for (@ { $row_ref } ); > > > > print "\n"; > > > > } > > > > > > > > $sth->finish; > > > > $dbh->disconnect > > > > || die "could not disconnect to > ODBC:MyDatabase:\n$DBI::errstr\n"; > > > > > > > > Check out DBI.html in your /perl_install_dir/html/site/lib (jf > you > > > are > > > > using ActivePerl). > > > > > > > > Aloha => Beau. > > > > > > > > -----Original Message----- > > > > From: Angel Iliev Kafazov [mailto:angel.kafazov@;mail.bg] > > > > Sent: Wednesday, November 13, 2002 1:04 PM > > > > To: '[EMAIL PROTECTED]' > > > > Subject: accessing ACCESS database > > > > > > > > > > > > Hi, > > > > > > > > I am trying to write a script that copies an information from > ACCESS > > > but > > > > it gives me the following error: > > > > > > > > Can't call method "Sql" on an undefined value at franowner.pl.txt > line > > > 4. > > > > > > > > Here's the script: > > > > > > > > > > > > use Win32::ODBC; > > > > $DSN="db1"; > > > > $db = new Win32::ODBC("db1"); > > > > $db->Sql("SELECT owner_first_name, owner_last_name FROM Owners > WHERE > > > > ID=11"); > > > > if ($db->Error()) { > > > > print "Error: $db->Error"; > > > > } > > > > statement:\n$DBI:errstr\n"; > > > > ($ownerfname,$ownerlname) = $db->FetchRow(); > > > > print "Database results: first name $ownerfname and last name > > > > $ownerlname\n"; > > > > $db->finish; > > > > $db->disconnect || die "Cannot disconnect from database"; > > > > > > > > Please, help me with this problem. > > > > ____________________________________________________ > > > > Какво е реклама в Интернет? - http://reklama.mail.bg > > > > > > > > > > > > -- > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > -- > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > ____________________________________________________ > > Какво е реклама в Интернет? - http://reklama.mail.bg > > > > > > -- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > >
____________________________________________________ Какво е реклама в Интернет? - http://reklama.mail.bg -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]