Обсуждение: calling java stored functions through jdbc gives errors.

Поиск
Список
Период
Сортировка

calling java stored functions through jdbc gives errors.

От
Alex Stienstra
Дата:
The following simple query I send to the server using JDBC:

"SELECT uw_ping()"

When the stored function uw_ping() is written in 'plpgsql' everything
works fine. But when the uw_ping() is written in java and linked in
using PL/java it gives the following error message:

org.postgresql.util.PSQLException: An I/O error occured while sending
to the backend.

Executing the same query using pgadmin III gives no problems. Anyone
any idea what the problem is?

Best regards,

Alex Stienstra.




Re: calling java stored functions through jdbc gives errors.

От
Markus Schaber
Дата:
Hi, Alex,

Alex Stienstra wrote:
> The following simple query I send to the server using JDBC:
>
> "SELECT uw_ping()"
>
> When the stored function uw_ping() is written in 'plpgsql' everything
> works fine. But when the uw_ping() is written in java and linked in
> using PL/java it gives the following error message:
>
> org.postgresql.util.PSQLException: An I/O error occured while sending to
> the backend.
>
> Executing the same query using pgadmin III gives no problems. Anyone any
> idea what the problem is?

It might be a V2/V3 protocol difference.

Do you get the error message immediately, or after a short timeout?

Can you look into the server logs to see what's noted there?

Thanks,
markus


--
Markus Schaber | Logical Tracking&Tracing International AG
Dipl. Inf.     | Software Development GIS

Fight against software patents in Europe! www.ffii.org
www.nosoftwarepatents.org

Re: calling java stored functions through jdbc gives errors.

От
Dave Cramer
Дата:
Alex,

Also try preparing the call in psql

prepare foo_plan as select uw_ping();
execute foo_plan;

However I can tell you that jdbc doesn't do anything particularly
different than psql or pgadmin.


Dave
On 2-Nov-06, at 4:57 AM, Markus Schaber wrote:

> Hi, Alex,
>
> Alex Stienstra wrote:
>> The following simple query I send to the server using JDBC:
>>
>> "SELECT uw_ping()"
>>
>> When the stored function uw_ping() is written in 'plpgsql' everything
>> works fine. But when the uw_ping() is written in java and linked in
>> using PL/java it gives the following error message:
>>
>> org.postgresql.util.PSQLException: An I/O error occured while
>> sending to
>> the backend.
>>
>> Executing the same query using pgadmin III gives no problems.
>> Anyone any
>> idea what the problem is?
>
> It might be a V2/V3 protocol difference.
>
> Do you get the error message immediately, or after a short timeout?
>
> Can you look into the server logs to see what's noted there?
>
> Thanks,
> markus
>
>
> --
> Markus Schaber | Logical Tracking&Tracing International AG
> Dipl. Inf.     | Software Development GIS
>
> Fight against software patents in Europe! www.ffii.org
> www.nosoftwarepatents.org
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
>        choose an index scan if your joining column's datatypes do not
>        match
>


Re: calling java stored functions through jdbc gives errors.

От
Markus Schaber
Дата:
Hi, Dave,

Dave Cramer wrote:

> However I can tell you that jdbc doesn't do anything particularly
> different than psql or pgadmin.

It uses the V3 protocol, and AFAIK it uses protocol-level prepare
instead of PREPARE queries.

Regards,
Markus

--
Markus Schaber | Logical Tracking&Tracing International AG
Dipl. Inf.     | Software Development GIS

Fight against software patents in Europe! www.ffii.org
www.nosoftwarepatents.org

Re: calling java stored functions through jdbc gives errors.

От
Dave Cramer
Дата:
On 2-Nov-06, at 7:06 AM, Markus Schaber wrote:

> Hi, Dave,
>
> Dave Cramer wrote:
>
>> However I can tell you that jdbc doesn't do anything particularly
>> different than psql or pgadmin.
>
> It uses the V3 protocol, and AFAIK it uses protocol-level prepare
> instead of PREPARE queries.

True enough, try adding protocolVersion=2 to the url and it will use
v2 protocol
>
> Regards,
> Markus
>
> --
> Markus Schaber | Logical Tracking&Tracing International AG
> Dipl. Inf.     | Software Development GIS
>
> Fight against software patents in Europe! www.ffii.org
> www.nosoftwarepatents.org
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings
>


Re: calling java stored functions through jdbc gives

От
Alex Stienstra
Дата:
Hi Dave,

Thanks for the advice.

I added the protocolVersion=2 option and now it works better. That is
to say that every other session is works oke. If not oke it still
produces:
"An I/O error occured while sending to the backend."
Within one session I open a jdbc connection and issue a number of
SELECTS with the java function call inside. Any ideas?

Best regards,

Alex



Re: calling java stored functions through jdbc gives errors.

От
Dave Cramer
Дата:
Alex,

Can you get the server logs ? Just the relevant ones before this error ?

Dave
On 2-Nov-06, at 9:55 AM, Alex Stienstra wrote:

> Hi Dave,
>
> Thanks for the advice.
>
> I added the protocolVersion=2 option and now it works better. That
> is to say that every other session is works oke. If not oke it
> still produces:
> "An I/O error occured while sending to the backend."
> Within one session I open a jdbc connection and issue a number of
> SELECTS with the java function call inside. Any ideas?
>
> Best regards,
>
> Alex
>
>
>