in reply to Re: Re: Table creation
in thread Table creation

my $dbh->do(...) Aha... You didn't open your database handle, did you? ;-)

You have to make sure there is a database connection before issuing SQL commands. If you do not call DBI->connect, your database handle will be undefined. In your case, you have created a new lexical with my $dbh in your second part of the code, which will be undefined unless you call the connect, or use the existing handle by dropping that my in front of $dbh->do(...) (assuming that you have dropped that first $dbh->disconnect of course). Here's an example on how to connect to the database using DBI and DBD.
#!/usr/bin/perl -w use strict; use DBI; use DBD::Sybase; my $dbh = DBI->connect("dbi:Sybase:server=XXXX;database=XXXX", "USER", +"PASSWD") or die "Failed to connect to the database!"; my $sth = $dbh->prepare( qq{ SQL statement } ); $sth->execute(); my @column_headings = @{$sth->{NAME}}; while (my @row = $sth->fetchrow()) { # Data elements $row[0] ... $row[-1] ... } $sth->finish; $dbh->disconnect;