RE: error - object already exists in database

"Raju, Ramakrishna (Equity)" <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.sybase
Message-ID <B5CB9A4688F55241BAD64A7973E2520C193F0DF9@mlnya207mb.amrs.win.ml.com>
$server = "SERVER";
$user = "usr";
$pass = "passwd";
 
use DBI;
 
do_command(' create table test_create ( i int )' );
 
sub do_command {
            my $sql_command = shift;
            my $dbh = DBI->connect('DBI:Sybase:server='. $server, $user, $pass, {RaiseError=>1, AutoCommit=>1})
              or die "Couldn't connect to database: " . DBI->errstr;
 
            $dbh->do($sql_command);
            $dbh->disconnect();
}

    The above program works for me. Replace the server, user and password with valid values and run in your environment.
 
Raju

-----Original Message-----
From: [email protected] [mailto:[email protected]]On Behalf Of Alan Humphrey
Sent: Monday, June 20, 2005 4:26 PM
To: 'Barlow, Ed'; [email protected]
Subject: RE: error - object already exists in database



Good thought, but not it.  I made sure to drop the table before re-running the perl script.  In fact, in part of my experimenting I even dropped and recreated the database.  That worked, creating the table did not.

 

- Alan

 

-----Original Message-----
From: Barlow, Ed [mailto:[email protected]] 
Sent: Monday, June 20, 2005 12:24 PM
To: Alan Humphrey; [email protected]
Subject: RE: error - object already exists in database

 

            Alan

            You need to drop the table "Drop Table abundancies" prior to recreating it

            Obviously, you ran it once in query analyzer, creating the table, and the second run is the one that fails...

            Ed

 

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Alan Humphrey
Sent: Monday, June 20, 2005 4:19 PM
To: [email protected]
Subject: error - object already exists in database

 

I'm trying to create tables via my Perl script, working against a remote database.  The error returned is:

 

DBD::Sybase::db do failed: Server message number=2714 severity=16 state=6 line=1 server=GILGAMESH\BIRDWEB text=There is already an object named 'abundancies' in the database. at sql_server.pl line 74, <WORK> chunk 1.

 

The SQL being executed is:

 

CREATE TABLE  abundancies (

        bird_id integer not null,

        ecoregion_id integer not null,

        abundancy_notes text,

        january char(1),

        february char(1),

        march char(1),

        april char(1),

        may char(1),

        june char(1),

        july char(1),

        august char(1),

        september char(1),

        october char(1),

        november char(1),

        december char(1),

        PRIMARY KEY (bird_id, ecoregion_id)

)

 

The code looks like:

 

sub do_command {

            my $sql_command = shift;

            

            my $dbh = DBI->connect('DBI:Sybase:server='. $server, $user, $pass, {RaiseError=>1, AutoCommit=>1})

              or die "Couldn't connect to database: " . DBI->errstr;

 

            $dbh->do($sql_command);

 

            $dbh->disconnect();

}

 

The reason I'm posting to this list is that if I execute the same command from other tools (e.g. Query Analyzer) it works.

 

Any ideas?

 

- Alan
--------------------------------------------------------

If you are not an intended recipient of this e-mail, please notify the sender, delete it and do not read, act upon, print, disclose, copy, retain or redistribute it. Click here for important additional terms relating to this e-mail.     http://www.ml.com/email_terms/
--------------------------------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.