Re: [BUGS] BUG #14166: JDBC driver won't parse error message from DBserver in German

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема Re: [BUGS] BUG #14166: JDBC driver won't parse error message from DBserver in German
Дата
Msg-id CAB7nPqTF7717uoXyezMphOzHGDNFZ9KENdFZeXjp0LnB3aM64w@mail.gmail.com
обсуждение исходный текст
Ответы Re: [BUGS] BUG #14166: JDBC driver won't parse error message fromDB server in German  ("Davygora, Yuriy" <Yuriy.Davygora@sulzer.de>)
Список pgsql-jdbc
On Tue, May 31, 2016 at 11:32 PM,  <davygora@sulzer.de> wrote:
> The following bug has been logged on the website:
>
> Bug reference:      14166
> Logged by:          Yuriy Davygora
> Email address:      davygora@sulzer.de
> PostgreSQL version: 9.5.3
> Operating system:   Windows 7 64 bit
> Description:
>
> Prerequisites (all local, no remote servers):
>   - PostgreSQL DB 9.5.3 with locale German_Germany.1252
>   - PostgreSQL JDBC driver postgresql-9.4.1208.jar (jre8)
>   - Payara JEE server 4.1.1.161.1
>   - Oracle JDK 1.8.0_72
>   - Misconfiguration of the JDBC connection in the domain.xml file causing
> the DB connection error (see below)
>
> The JDBC driver provides a property 'DatabaseName' which I set to the
> correct database name which is different from the user name. Here is an
> excerpt from domain.xml:
>
>   <property name="DatabaseName" value="database_name"></property>
>   <property name="User" value="user_name"></property>
>   <property name="PortNumber" value="5432"></property>
>   <property name="Url" value="jdbc:postgresql://localhost/"></property>
>
> --------------------------
>
> Bug description:
>
> The DB connection error was "database does not exist" (which I found out
> after switching the locale from German to English). To fix I had to include
> the database name in the URL as follows:
>
>   <property name="Url"
> value="jdbc:postgresql://localhost/database_name?"></property>
>
> While the locale of the DB server was still set to German, however, I did
> get a different message. Here is an excerpt from the stacktrace:
>
> Caused by: java.io.IOException: Ungültige UTF-8-Sequenz: das erste Byte ist
> 10xxxxxx: 132
>         at org.postgresql.core.UTF8Encoding.decode(UTF8Encoding.java:104)
>         at org.postgresql.core.PGStream.ReceiveString(PGStream.java:331)
>         at
> org.postgresql.core.v3.ConnectionFactoryImpl.readStartupMessages(ConnectionFactoryImpl.java:705)
>         at
> org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:213)
>         ... 90 more
> ]]
>
> I downloaded the sources of the JDBC driver to find out where the error
> comes from. It turned out, that the exception is thrown when the JDBC driver
> cannot parse the error message from the DB server. Thus, I don't ever get to
> see the original error message.
>
> As mentioned above, setting the locale to English allowed me to see the
> error and fix it quickly. However, it would be nice, if the error messages
> could be parsed in any language.
>
> --------------------------
>
> P.S. This has nothing to do with the reported bug, however it might be a bug
> in its own right. While the configuration was still as shown in the
> prerequisites section, occasionally the JDBC connection would work, about
> 30% of the time, on a seemingly random basis.

This does not seem related to Postgres itself, but to the JDBC driver,
so I switched the report to pgsql-jdbc.
--
Michael


В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: [BUGS] BUG #14166: JDBC driver won't parse error message from DB server in German
Следующее
От: "Davygora, Yuriy"
Дата:
Сообщение: Re: [BUGS] BUG #14166: JDBC driver won't parse error message from DB server in German