|
Posted by dmittleider on August 27, 2006, 1:58 am
Please log in for more thread options
I'm trying to pull the table information from MySQL using the Catalog()
method and it gives me errors...
Here's an example of my code:
-----------------------------------------------------------------------------
use Win32::ODBC;
my($db) = new Win32::ODBC("dsn=mysqldb;uid=user;pwd=pass");
if( $db->Catalog( '', '', '', "'TABLE','SYSTEM TABLE'" ) )
{
my %Data;
print "Available tables:\n";
while( $db->FetchRow( %Data ) )
{
print "\t" . $Data . "\n";
#print "[";
}
}
$db->Close();
-----------------------------------------------------------------------------
This DSN maps to a database that has just one table in it. When I run
this it gives me an error in ODBC.pm "Use of uninitialized value in
numeric ne (!=) at C:/Perl/site/lib/Win32/ODBC.pm line 291." which I
think is just because it doesn't grab any results from the database.
If I use the db->TableList that works, but I need the schema
information. I don't want to resort to running SQL statements against
the system tables or using any list tables type of statements because
eventually I want to make this portable enough to run on an Oracle
database too so I'm trying to stick to built-in Win32::ODBC methods.
Any ideas anybody?
|