Re: COPY command works with older driver but not newer one ? - Mailing list pgsql-jdbc

From Warren Bell
Subject Re: COPY command works with older driver but not newer one ?
Date
Msg-id 496AAABD.7070606@clarksnutrition.com
Whole thread Raw
In response to COPY command works with older driver but not newer one ?  (Warren Bell <warren@clarksnutrition.com>)
Responses Re: COPY command works with older driver but not newer one ?  (Oliver Jowett <oliver@opencloud.com>)
List pgsql-jdbc
When you say server I am assuming you are talking about the database, if
so, I am only talking about one 8.1 database. The older driver works on
8.1 and the newer driver does not work on 8.1. I also tried the same
scenario on a PostgresPlus 8.3 database on an Apple with the same
results, the older driver worked and the newer one does not. Why does it
work with the older driver and not the new one? Is this a capability
that was changed between drivers?

Oliver Jowett wrote:

You will need to synthesize the complete query string yourself instead
of using a parameter placeholder, as it appears that the server doesn't
support a parameter placeholder as the filename argument to COPY FROM.
This is similar to how you can't use parameter placeholders for table
names, etc - the driver is limited by where the server's query parser
will accept a $1, $2, etc in the query string.

Though I'm not sure why the server doesn't allow this case, it seems
like the argument to COPY FROM is data, not structural. Perhaps the FROM
STDIN case is the problem.

-O


    19:18:01.025 (1)  FE=> Parse(stmt=null,query="COPY import FROM
$1",oids={1043})
    19:18:01.029 (1)  FE=>
Bind(stmt=null,portal=null,$1=</Users/Warren/Desktop/test.txt>)

    19:18:01.048 (1)  <=BE ErrorMessage(ERROR: syntax error at or near "$1"


pgsql-jdbc by date:

Previous
From: Oliver Jowett
Date:
Subject: Re: COPY command works with older driver but not newer one ?
Next
From: Oliver Jowett
Date:
Subject: Re: COPY command works with older driver but not newer one ?