Thread: Perl DBI issue

Perl DBI issue

From
"Peter Darley"
Date:
Folks,

    I just installed a new machine with Fedora Core 4 with PostgreSQL 8.0.3.  I
also installed DBI::Pg 1.41.  When I try to use a query with a placeholder
in it I get the error: "DBD::Pg::st execute failed: ERROR:  syntax error at
or near "$1" at character 1".  The same query with a value instead of a
placeholder works just fine.  The script follows this email.

    I can use exactly the same script to connect to PostgreSQL on this machine
from a different machine, and I can not connect from this machine to a
PostgreSQL install of 7.4.1.  It looks to me like there is some problem
between DBI::Pg and the client library.  While poking around I saw that all
the other machines have a libpq.so, but this new machine doesn't (it has a
libpq.so.4 and libpq.so.4.0 tho).  I don't know if that is significant.

    Any suggestions would be much appreciated.

Thanks,
Peter Darley


#!/usr/bin/perl

use DBI;
use strict;

my ($dbhCheck, $sthCheck, $Result);

$dbhCheck = DBI->connect("dbi:Pg:dbname=neo;host=production", 'user',
'password');
$sthCheck = $dbhCheck->prepare("SELECT COUNT(*) FROM Sample where
SurveyID=?");
$sthCheck->execute(316);
$Result = $sthCheck->fetchrow();
print "Sample has $Result members.\n";
$sthCheck->finish();
$dbhCheck->disconnect();


Re: Perl DBI issue

From
"Greg Sabino Mullane"
Date:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


> I just installed a new machine with Fedora Core 4 with PostgreSQL 8.0.3.  I
> also installed DBI::Pg 1.41.  When I try to use a query with a placeholder
> in it I get the error: "DBD::Pg::st execute failed: ERROR:  syntax error at
> or near "$1" at character 1".  The same query with a value instead of a
> placeholder works just fine.  The script follows this email.

Everything looks fine. There were some weird corner cases in 1.41 that were
fixed: it`s possible this is one of them, although it does not lok like it.
Can you test out 1.43, the latest version?

- --
Greg Sabino Mullane greg@turnstep.com
PGP Key: 0x14964AC8 200506230815
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFCuv+IvJuQZxSWSsgRAmfzAJ9UwSZ0+fz3bt+L2nxfZR50YoDU5QCdHUba
Enqv/TzwemyCd/hJ1PYFR4E=
=BE4q
-----END PGP SIGNATURE-----



Re: Perl DBI issue

From
"Peter Darley"
Date:
Greg,

    Switching to 1.42 didn't help, but 1.43 did the trick.  I didn't realize
that there were newer versions of DBD::Pg.  The CPAN install tool kept
telling me that DBD::Pg was up to date.

Thanks for the help!
Peter Darley

-----Original Message-----
From: pgsql-general-owner@postgresql.org
[mailto:pgsql-general-owner@postgresql.org]On Behalf Of Greg Sabino
Mullane
Sent: Thursday, June 23, 2005 11:50 AM
To: pgsql-general@postgresql.org
Subject: Re: [GENERAL] Perl DBI issue



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


> I just installed a new machine with Fedora Core 4 with PostgreSQL 8.0.3.
I
> also installed DBI::Pg 1.41.  When I try to use a query with a placeholder
> in it I get the error: "DBD::Pg::st execute failed: ERROR:  syntax error
at
> or near "$1" at character 1".  The same query with a value instead of a
> placeholder works just fine.  The script follows this email.

Everything looks fine. There were some weird corner cases in 1.41 that were
fixed: it`s possible this is one of them, although it does not lok like it.
Can you test out 1.43, the latest version?

- --
Greg Sabino Mullane greg@turnstep.com
PGP Key: 0x14964AC8 200506230815
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFCuv+IvJuQZxSWSsgRAmfzAJ9UwSZ0+fz3bt+L2nxfZR50YoDU5QCdHUba
Enqv/TzwemyCd/hJ1PYFR4E=
=BE4q
-----END PGP SIGNATURE-----



---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings