Your insert is missing its closing parenthese before the end of the quote:
Fix :
my $ins = $dbh2->prepare("insert into cover_tab
values(cover_tab_seq.nextval,null,null,null,null,null,'Outstanding',null,100
,'$db2data[1]',3,null,null,42,null,null,2003,null)");Adam -----Original Message----- From: Robert [mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> ] Sent: Wednesday, June 04, 2003 2:18 PM To: [EMAIL PROTECTED] Subject: Re: Missing comma (DBI) And also any suggestions to make this program better will be greatly appreciated. Robert <[EMAIL PROTECTED]> wrote:When I execute this program it is giving the following error about missing comma Company is Comp1 with comp_number 100 inserting company_number 100 for company Comp1 DBD::Oracle::st execute failed: ORA-00917: missing comma (DBD ERROR: O CIStmtExecute) at test12.pl line 27. DBD::Oracle::st execute failed: ORA-00917: missing comma (DBD ERROR: O CIStmtExecute) at test12.pl line 27. Issuing rollback() for database handle being DESTROY'd without explici t disconnect(). But when I insert manually in sqlplus it is working fine insert into cover_tab values(cover_tab_seq.nextval,null,null,null,null,null,'Outstanding',null,100 ,'11111',3,null,null,42,null,null,2003,null" I am unable to figure out the problem here, it is something do with Perl. #!C:\perl\ActivePerl\Perl\bin\perl -w use DBI; use strict; use DBI qw(:sql_types); DBI->trace( 2, 'dbitrace.log' ); my $dbh1 = DBI->connect( "dbi:ODBC:db2data", "test", "test" ) or die " Can't make 1st database connect: $DBI::errstr\n"; my $dbh2 = DBI->connect("dbi:Oracle:Oradb", "test", "test", { AutoComm it => 0, RaiseError => 1,} ) or die "Can't make 2nd database connect: $DBI::errstr\n"; my $sel1 = $dbh1->prepare("Select company,comp_number from test2"); $sel1->execute(); my @db2data; while ( @db2data = $sel1->fetchrow_array() ) { print "Company is $db2data[0] with Company_number $db2data[1]\n"; my $sel2 = $dbh2->prepare("Select comp_number from cover_tab where com p_number='$db2data[1]'"); $sel2->execute; if ($sel2->rows == 0) { print "inserting Company_number $db2data[1] for company $db2data[0]\n" ; my $ins = $dbh2->prepare("insert into cover_tab values(cover_tab_seq.nextval,null,null,null,null,null,'Outstanding',null,100 ,'$db2data[1]',3,null,null,42,null,null,2003,null"); $ins->execute; $dbh2->commit; } else { print "$db2data[1] for Company $db2data[0] already exists\n" } } $dbh1->disconnect(); $dbh2->disconnect(); Any insights much appreciated. Thanks in advance --------------------------------- Do you Yahoo!? Free online calendar with sync to Outlook(TM). --------------------------------- Do you Yahoo!? Free online calendar with sync to Outlook(TM).
