Here is my code -DBD::Pg::st execute failed: ERROR: parser: parse error at or near "al +bino" at . /dbinsert line 37, <CSV> line 1. DBD::Pg::st execute failed: ERROR: parser: parse error at or near "al +bino" at . /dbinsert line 37, <CSV> line 1.
The "|" delimited file looks like this -#!/usr/bin/perl -w # # use strict; use DBI qw(:sql_types); # Set global dbase connection info # # my $dsn="dbi:Pg:dbname=tabletest"; my $user="postgres"; my $passwd=""; # create and prepare DBI connection and action # # my ($dbh,$id,$descr,$item,$latin); $dbh = DBI->connect($dsn, $user, $passwd, { RaiseError => 1, AutoCommi +t => 0 }); my $insert00 = $dbh->prepare("INSERT INTO hobby (id,descr,item,latin) +VALUES (?, ?,?,?)")|| die $dbh->errstr; # The next two lines are required for telling the Pg driver what data +type # fields 1 and 3 should be. # $insert00->bind_param(1,$id,SQL_INTEGER)|| die $insert00->errs +tr; $insert00->bind_param(3,$item,SQL_INTEGER)|| die $insert00->er +rstr; # Prepare the update file and begin action loop. # # my $csvfile="/home/bradley/dbtest/item_instk.csv"; open (CSV,"$csvfile"); $id = 1; while (<CSV>) { chomp; ($item,$descr,$latin) = split ('/',$_); $insert00->execute( $id, $descr, $item, $latin )||die $dbh->er +rstr; print ","; ++$id; } # Close and commit dbase changes # # close CSV; #$dbh->commit; $dbh->disconnect;
I know the problem is with the spaces in the fields. Any suggestions??? Thanks, Bradley10061|SWORDTAIL ALBINO REG|XIPHOPHORUS HELLERI 10081|SWORDTAIL BLACK REG|XIPHOPHORUS HELLERI 10101|SWORDTAIL BRICK REG|XIPHOPHORUS HELLERI 10121|SWORDTAIL CANDY REG|XIPHOPHORUS HELLERI
Where ever there is confusion to be had... I'll be there.
In reply to DBI parse errors by Dalin
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |