in reply to Re: Win32::ODBC Multiple Queries
in thread Win32::ODBC Multiple Queries

I wrote an SQL query tool using Win32::ODBC and it worked great for DSN using mySQL and Sybase. But, when I tried to connect to a DSN using MSAccess, I got a Runtime Error too. I tried different versions of Win32::ODBC, and even created the same database, with exact same tablenames, column names and data types and it still failed. I ended up trying DBI, and DBI worked. If you look at DBI, you will notice that it handles placeholders and bind variables diffently than ODBC. Which may be part of the problem you are experiencing. Notice the difference in these two calls in DBI...
if($query eq '*'){ $sth = $db->prepare("SELECT * FROM data ORDER BY[$orderkey]"); $sth->execute(); ... if($query eq $name ){ $sth = $db->prepare("SELECT ? FROM data order by [$orderkey]"); $sth->execute($name);
The runtime error you are getting may have to do with how Access checks/binds the correct data types prior to executing the SQL. If the data type/size don't match up, the SQL won't execute. In short, if they other gent's suggestions didn't solve your problem... give DBI a try. And, I just started adding use strict; to ALL my scripts after getting hollered at enough... and it really helps :)