Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re^6: DBD::Pg copy issues

by tradez (Pilgrim)
on Sep 14, 2004 at 19:42 UTC ( #390963=note: print w/ replies, xml ) Need Help??


in reply to Re^5: DBD::Pg copy issues
in thread DBD::Pg copy issues

Alright this is killling me now. Here is my new code and thank you so much for your help. This thing can't even get passed the first COPY statement without dying, and I can't get any type of error message back other then it failed!

$dbh->func("COPY snapshot_$formName (name, value, collect_date, omp_id +) from STDIN", "putline" or die "Couldn't write COPY STATEMENT to snapshot_$formName: $ +@, " . $dbh->errstr; print "Started a line\n"; foreach my $values (@form_out){ #my $cmd = `rm -f $form_out`; my @values = split(/;/, $values); my @names = split(/ /, $ga->{'outputString'}{$formName}); my $count = 0; foreach my $ix (0 .. $#names ){ my $value = $values[$ix]; if (!$names[$count]){ print "$value element # $count does not exist in array\n"; } my $name = $names[$count]; $value = 'NULL' if not defined $value; $value =~ s/^\s+//; $value =~ s/\s+$//; # The following line will remove any internal tabs which would + mess with # the column count. $value =~ s/\s+/ /g; $value = 'Null' if not length $value; my $row = join("\t", $name, $value, $date, $ompId); $dbh->func($row , 'putline' ) or die "Couldn't write `$row' to snapshot_$formName: $@, " . $ +dbh->errstr; $count++; } } $dbh->func( "\\.\n", 'putline' ); print "ended that line\n"; }


Tradez
"Never underestimate the predictability of stupidity"
- Bullet Tooth Tony, Snatch (2001)


Comment on Re^6: DBD::Pg copy issues
Download Code
Re^7: DBD::Pg copy issues
by diotalevi (Canon) on Sep 14, 2004 at 22:38 UTC
    Oh that's too bad! I would have just been using the psql binary directly by now. If you really want to do this without the external process you should probabyl raise this problem on one of the PostgreSQL mailing lists.
      oh my god!!!! arghh, well I would have given up and tried this before but I am just too competitive. But now, arghh, i get this!
      DBD::Pg::db do failed: ERROR: missing data for column "collect_date" +at ./getSnapshot.pl line 175, <FORM_OUT> line 102. Couldn't write COPY STATEMENT to snapshot_btseqp: , ERROR: missing da +ta for column "collect_date" at ./getSnapshot.pl line 175, <FORM_OUT> + line 102.
      when i do this:
      my $row = join("\t", $name, $value, $date, $ompId); print INPUTFILE "$row\n"; } } print INPUTFILE "\\.\n"; $dbh->do("COPY snapshot_$formName (name, value, collect_date, omp_ +id) from '$db_input'") or die "Couldn't write COPY STATEMENT to snapshot_$formName: $ +@, " . $dbh->errstr;
      Seriously, what the hell. Also, when I do the same copy statement from the cmd line, it works. I hate this. I even catch to make sure that $date, which is always there is there and it is.


      Tradez
      "Never underestimate the predictability of stupidity"
      - Bullet Tooth Tony, Snatch (2001)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://390963]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (6)
As of 2014-09-21 16:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (172 votes), past polls