Обсуждение: Perl query error
Hello,
I'm trying to use a Perl script to export a query result to a text file.
The result should have no header or footer information. However, when I
run the script, I get a message: DBD::Pg::st execute failed: ERROR:
parser: parse error at or near "/" at ./mdcupc.pl line 189.
Here's the section where the error occurs:
# Send command to not print header or footer information
my $query = $dbh->prepare("\t")
or die "Cannot prepare SQL statement: $DBI::errstr\n";
$query->execute ;
# Send command to not print header or footer information
$query = $dbh->prepare("select * from upc_export_v \g
/home/ftp/pub/Incoming/postgres/ozupc.txt;")
or die "Cannot prepare SQL statement: $DBI::errstr\n";
$query->execute ;
Any help would be greatly appreciated.
Patrick Hatcher
Macys.Com
Legacy Integration Developer
415-932-0610 office
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I'm at a loss as to why you aren't just using normal SQL like so. Does the
DBD::Pg driver even support those slash commands?
Josh
my $file = '/home/ftp/pub/Incoming/postgres/ozupc.txt';
open FILE, ">$file" or die "Cannot open $file: $!";
$sth = $dbh->prepare("SELECT * FROM upc_export_v");
$sth->execute;
while (my @ary = $sth->fetchrow_array) {
print FILE join "\t", @ary;
}
undef $sth;
close FILE or die "Cannot close $file: $!";
Joshua b. Jore
http://www.greentechnologist.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (OpenBSD)
Comment: For info see http://www.gnupg.org
iD8DBQE8tHTlfexLsowstzcRApiXAKDfd15lbOKYNfZIDkp36JEGNRK41wCgjhST
r5jwqXdtMcxxDtymBWalwLE=
=61vB
-----END PGP SIGNATURE-----
Thanks for the help Josh.
Way too newbie to know what can or can't be done with DBI.
Patrick Hatcher
Macys.Com
Legacy Integration Developer
415-932-0610 office
"Joshua b. Jore"
<josh@greentechnol To: Patrick Hatcher <PHatcher@macys.com>
ogist.org> cc: pgsql-novice@postgresql.org
Subject: Re: [NOVICE] Perl query error
04/10/2002 10:22
AM
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I'm at a loss as to why you aren't just using normal SQL like so. Does the
DBD::Pg driver even support those slash commands?
Josh
my $file = '/home/ftp/pub/Incoming/postgres/ozupc.txt';
open FILE, ">$file" or die "Cannot open $file: $!";
$sth = $dbh->prepare("SELECT * FROM upc_export_v");
$sth->execute;
while (my @ary = $sth->fetchrow_array) {
print FILE join "\t", @ary;
}
undef $sth;
close FILE or die "Cannot close $file: $!";
Joshua b. Jore
http://www.greentechnologist.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (OpenBSD)
Comment: For info see http://www.gnupg.org
iD8DBQE8tHTlfexLsowstzcRApiXAKDfd15lbOKYNfZIDkp36JEGNRK41wCgjhST
r5jwqXdtMcxxDtymBWalwLE=
=61vB
-----END PGP SIGNATURE-----
On Thu, 2002-04-11 at 05:19, Patrick Hatcher wrote:
>
> Thanks for the help Josh.
> Way too newbie to know what can or can't be done with DBI.
:-)
Use 'psql -E database' to see what the backend SQL is for the commands
psql implements. Or you could use the source...
Regards,
Andrew.
--
--------------------------------------------------------------------
Andrew @ Catalyst .Net.NZ Ltd, PO Box 11-053, Manners St, Wellington
WEB: http://catalyst.net.nz/ PHYS: Level 2, 150-154 Willis St
DDI: +64(4)916-7201 MOB: +64(21)635-694 OFFICE: +64(4)499-2267
Are you enrolled at http://schoolreunions.co.nz/ yet?
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Actually, one of the main things to keep in mind is that all those slash commands are only supported by the psql frontend. If you examine src/backend/parser/gram.y you won't find any of them in there. That means you don't get to use them when using the DBI interface in perl since that uses the standard backend interface. Just use that SQL reference in the docs as a guide for what is allowed (and not). That said, the -E flag is nice to see how core PostgreSQL developers have implemented some queries. ;-) Joshua b. Jore http://www.greentechnologist.org On 11 Apr 2002, Andrew McMillan wrote: > On Thu, 2002-04-11 at 05:19, Patrick Hatcher wrote: > > > > Thanks for the help Josh. > > Way too newbie to know what can or can't be done with DBI. > > :-) > > Use 'psql -E database' to see what the backend SQL is for the commands > psql implements. Or you could use the source... > > Regards, > Andrew. > -- > -------------------------------------------------------------------- > Andrew @ Catalyst .Net.NZ Ltd, PO Box 11-053, Manners St, Wellington > WEB: http://catalyst.net.nz/ PHYS: Level 2, 150-154 Willis St > DDI: +64(4)916-7201 MOB: +64(21)635-694 OFFICE: +64(4)499-2267 > Are you enrolled at http://schoolreunions.co.nz/ yet? > > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (OpenBSD) Comment: For info see http://www.gnupg.org iD8DBQE8tZXCfexLsowstzcRAvcBAJ4tf4R4lC3w+Ya0M+trj88Hw2RsSgCdEUUZ g0/cTkPnjCg6aS5fZwv924Y= =Ni33 -----END PGP SIGNATURE-----