Re: Help with exception: java.lang.IllegalArgumentException: - Mailing list pgsql-jdbc

From Oliver Jowett
Subject Re: Help with exception: java.lang.IllegalArgumentException:
Date
Msg-id 41FE884E.2040004@opencloud.com
Whole thread Raw
In response to Help with exception: java.lang.IllegalArgumentException: \0 not allowed  (Venkatesh Babu <venkatbabukr@yahoo.com>)
List pgsql-jdbc
Venkatesh Babu wrote:

> I'm getting an exception
> "java.lang.IllegalArgumentException: \0 not allowed"
> while using '\0' terminated strings as parameters for
> the PreparedStatement. May I know whether usage of
> such strings is not permitted? I'm using the
> PreparedStatement.setString(int parameterIndex, String
> x) function to set the parameters and I get the
> exception here.

You can't use \0 in text types (text, varchar, char, etc); this is a
limitation of the server and the server/client protocol. The driver is
just catching it early so you don't see strange behaviour later.

In general, you don't need to terminate Java strings with \0 at all. If
you really do need to store a literal NUL, consider using a bytea column
and PreparedStatement.setBytes() instead.

-O

pgsql-jdbc by date:

Previous
From: Venkatesh Babu
Date:
Subject: Help with exception: java.lang.IllegalArgumentException: \0 not allowed
Next
From: Kris Jurka
Date:
Subject: Re: [SPAM] - Re: [SPAM] - Re: JDBC HighLoad - Found word(s)