Обсуждение: org.postgresql.util.PSQLException: Eingabe/Ausgabe-Fehler {0} beim Senden an das Backend
Hello Postgresql Friends,
i have a problem with postgresql 8.0.3. My Application use the function
getColumns of DatabaseMetaData. When i start the application the function
will go for some times, but the the function produces errors. Here my
Stacktrace. I have no idea. With SAPDB my program is ok.
org.postgresql.util.PSQLException: Eingabe/Ausgabe-Fehler {0} beim Senden an
das Backend.
at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:201)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.j
ava:389)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2St
atement.java:314)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statem
ent.java:221)
at
org.postgresql.jdbc2.AbstractJdbc2DatabaseMetaData.getMaxNameLength(Abstract
Jdbc2DatabaseMetaData.java:81)
at
org.postgresql.jdbc2.AbstractJdbc2DatabaseMetaData.getColumns(AbstractJdbc2D
atabaseMetaData.java:2382)
----------------------------------------------------------------
My code:
DatabaseMetaData metaData = connection.getMetaData();
ResultSet result = metaData.getColumns("",schema,table,"");
Has anybody a solution for my problem?
Best regards
Sven Hütten
Hi,
Can you tell us what the program is doing when it does this?
What is it attempting to execute ?
Dave
On 15-Sep-05, at 10:12 AM, Sven Hütten wrote:
>
> Hello Postgresql Friends,
>
> i have a problem with postgresql 8.0.3. My Application use the
> function
> getColumns of DatabaseMetaData. When i start the application the
> function
> will go for some times, but the the function produces errors. Here my
> Stacktrace. I have no idea. With SAPDB my program is ok.
>
>
> org.postgresql.util.PSQLException: Eingabe/Ausgabe-Fehler {0} beim
> Senden an
> das Backend.
> at
> org.postgresql.core.v3.QueryExecutorImpl.execute
> (QueryExecutorImpl.java:201)
>
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.execute
> (AbstractJdbc2Statement.j
> ava:389)
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags
> (AbstractJdbc2St
> atement.java:314)
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery
> (AbstractJdbc2Statem
> ent.java:221)
> at
> org.postgresql.jdbc2.AbstractJdbc2DatabaseMetaData.getMaxNameLength
> (Abstract
> Jdbc2DatabaseMetaData.java:81)
> at
> org.postgresql.jdbc2.AbstractJdbc2DatabaseMetaData.getColumns
> (AbstractJdbc2D
> atabaseMetaData.java:2382)
>
>
> ----------------------------------------------------------------
> My code:
>
> DatabaseMetaData metaData = connection.getMetaData();
> ResultSet result = metaData.getColumns("",schema,table,"");
>
>
> Has anybody a solution for my problem?
>
> Best regards
>
> Sven Hütten
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster
>
>
We build querys dynamicly (mapping) with the information of the metadatas in
our framework.
Here are the important sql-commands to insert a data row in our framework:
Statement stmt =
connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCU
R_READ_ONLY);
...
DatabaseMetaData metaData = connection.getMetaData();
....
ResultSet result = metaData.getColumns("",schema,table,"");
....
PreparedStatement ps = dbConnection.prepareStatement(dynamicQuery);
...
ParameterMetaData meta = ps.getParameterMetaData();
...
dbConnection.executePreparedStatement(ps);
...
stmt.close();
Sven Hütten
-----Ursprüngliche Nachricht-----
Von: pgsql-jdbc-owner+M13848@postgresql.org
[mailto:pgsql-jdbc-owner+M13848@postgresql.org] Im Auftrag von Dave Cramer
Gesendet: Donnerstag, 15. September 2005 16:27
An: Sven Hütten
Cc: pgsql-jdbc@postgresql.org
Betreff: Re: [JDBC] org.postgresql.util.PSQLException:
Eingabe/Ausgabe-Fehler {0} beim Senden an das Backend
Hi,
Can you tell us what the program is doing when it does this?
What is it attempting to execute ?
Dave
On 15-Sep-05, at 10:12 AM, Sven Hütten wrote:
>
> Hello Postgresql Friends,
>
> i have a problem with postgresql 8.0.3. My Application use the
> function getColumns of DatabaseMetaData. When i start the application
> the function will go for some times, but the the function produces
> errors. Here my Stacktrace. I have no idea. With SAPDB my program is
> ok.
>
>
> org.postgresql.util.PSQLException: Eingabe/Ausgabe-Fehler {0} beim
> Senden an
> das Backend.
> at
> org.postgresql.core.v3.QueryExecutorImpl.execute
> (QueryExecutorImpl.java:201)
>
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.execute
> (AbstractJdbc2Statement.j
> ava:389)
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags
> (AbstractJdbc2St
> atement.java:314)
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery
> (AbstractJdbc2Statem
> ent.java:221)
> at
> org.postgresql.jdbc2.AbstractJdbc2DatabaseMetaData.getMaxNameLength
> (Abstract
> Jdbc2DatabaseMetaData.java:81)
> at
> org.postgresql.jdbc2.AbstractJdbc2DatabaseMetaData.getColumns
> (AbstractJdbc2D
> atabaseMetaData.java:2382)
>
>
> ----------------------------------------------------------------
> My code:
>
> DatabaseMetaData metaData = connection.getMetaData();
> ResultSet result = metaData.getColumns("",schema,table,"");
>
>
> Has anybody a solution for my problem?
>
> Best regards
>
> Sven Hütten
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster
>
>
---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly
Sven,
Well, seeing as your query is dynamic, we will have to rely on the
server logs
can you look through your logs and find the query that fails?
Dave
On 15-Sep-05, at 1:31 PM, Sven Hütten wrote:
>
> We build querys dynamicly (mapping) with the information of the
> metadatas in
> our framework.
>
> Here are the important sql-commands to insert a data row in our
> framework:
>
> Statement stmt =
> connection.createStatement
> (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCU
> R_READ_ONLY);
> ...
> DatabaseMetaData metaData = connection.getMetaData();
> ....
> ResultSet result = metaData.getColumns("",schema,table,"");
> ....
> PreparedStatement ps = dbConnection.prepareStatement(dynamicQuery);
> ...
> ParameterMetaData meta = ps.getParameterMetaData();
> ...
> dbConnection.executePreparedStatement(ps);
> ...
> stmt.close();
>
>
> Sven Hütten
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: pgsql-jdbc-owner+M13848@postgresql.org
> [mailto:pgsql-jdbc-owner+M13848@postgresql.org] Im Auftrag von Dave
> Cramer
> Gesendet: Donnerstag, 15. September 2005 16:27
> An: Sven Hütten
> Cc: pgsql-jdbc@postgresql.org
> Betreff: Re: [JDBC] org.postgresql.util.PSQLException:
> Eingabe/Ausgabe-Fehler {0} beim Senden an das Backend
>
> Hi,
>
> Can you tell us what the program is doing when it does this?
>
> What is it attempting to execute ?
>
> Dave
> On 15-Sep-05, at 10:12 AM, Sven Hütten wrote:
>
>
>>
>> Hello Postgresql Friends,
>>
>> i have a problem with postgresql 8.0.3. My Application use the
>> function getColumns of DatabaseMetaData. When i start the application
>> the function will go for some times, but the the function produces
>> errors. Here my Stacktrace. I have no idea. With SAPDB my program is
>> ok.
>>
>>
>> org.postgresql.util.PSQLException: Eingabe/Ausgabe-Fehler {0} beim
>> Senden an
>> das Backend.
>> at
>> org.postgresql.core.v3.QueryExecutorImpl.execute
>> (QueryExecutorImpl.java:201)
>>
>> at
>> org.postgresql.jdbc2.AbstractJdbc2Statement.execute
>> (AbstractJdbc2Statement.j
>> ava:389)
>> at
>> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags
>> (AbstractJdbc2St
>> atement.java:314)
>> at
>> org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery
>> (AbstractJdbc2Statem
>> ent.java:221)
>> at
>> org.postgresql.jdbc2.AbstractJdbc2DatabaseMetaData.getMaxNameLength
>> (Abstract
>> Jdbc2DatabaseMetaData.java:81)
>> at
>> org.postgresql.jdbc2.AbstractJdbc2DatabaseMetaData.getColumns
>> (AbstractJdbc2D
>> atabaseMetaData.java:2382)
>>
>>
>> ----------------------------------------------------------------
>> My code:
>>
>> DatabaseMetaData metaData = connection.getMetaData();
>> ResultSet result = metaData.getColumns("",schema,table,"");
>>
>>
>> Has anybody a solution for my problem?
>>
>> Best regards
>>
>> Sven Hütten
>>
>>
>> ---------------------------(end of
>> broadcast)---------------------------
>> TIP 2: Don't 'kill -9' the postmaster
>>
>>
>>
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that
> your
> message can get through to the mailing list cleanly
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that
> your
> message can get through to the mailing list cleanly
>
>
Hello Dave,
the exception is generated by metaData.getColumns("",schema,table,"");.
Is it a problem, if i open a statement and a perparedStatement?
Best regards
Sven Hütten
-----Ursprüngliche Nachricht-----
Von: pgsql-jdbc-owner+M13850@postgresql.org
[mailto:pgsql-jdbc-owner+M13850@postgresql.org] Im Auftrag von Dave Cramer
Gesendet: Donnerstag, 15. September 2005 20:03
An: Sven Hütten
Cc: pgsql-jdbc@postgresql.org
Betreff: Re: [JDBC] org.postgresql.util.PSQLException:
Eingabe/Ausgabe-Fehler {0} beim Senden an das Backend
Sven,
Well, seeing as your query is dynamic, we will have to rely on the server
logs can you look through your logs and find the query that fails?
Dave
On 15-Sep-05, at 1:31 PM, Sven Hütten wrote:
>
> We build querys dynamicly (mapping) with the information of the
> metadatas in our framework.
>
> Here are the important sql-commands to insert a data row in our
> framework:
>
> Statement stmt =
> connection.createStatement
> (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCU
> R_READ_ONLY);
> ...
> DatabaseMetaData metaData = connection.getMetaData(); ....
> ResultSet result = metaData.getColumns("",schema,table,"");
> ....
> PreparedStatement ps = dbConnection.prepareStatement(dynamicQuery);
> ...
> ParameterMetaData meta = ps.getParameterMetaData(); ...
> dbConnection.executePreparedStatement(ps);
> ...
> stmt.close();
>
>
> Sven Hütten
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: pgsql-jdbc-owner+M13848@postgresql.org
> [mailto:pgsql-jdbc-owner+M13848@postgresql.org] Im Auftrag von Dave
> Cramer
> Gesendet: Donnerstag, 15. September 2005 16:27
> An: Sven Hütten
> Cc: pgsql-jdbc@postgresql.org
> Betreff: Re: [JDBC] org.postgresql.util.PSQLException:
> Eingabe/Ausgabe-Fehler {0} beim Senden an das Backend
>
> Hi,
>
> Can you tell us what the program is doing when it does this?
>
> What is it attempting to execute ?
>
> Dave
> On 15-Sep-05, at 10:12 AM, Sven Hütten wrote:
>
>
>>
>> Hello Postgresql Friends,
>>
>> i have a problem with postgresql 8.0.3. My Application use the
>> function getColumns of DatabaseMetaData. When i start the application
>> the function will go for some times, but the the function produces
>> errors. Here my Stacktrace. I have no idea. With SAPDB my program is
>> ok.
>>
>>
>> org.postgresql.util.PSQLException: Eingabe/Ausgabe-Fehler {0} beim
>> Senden an das Backend.
>> at
>> org.postgresql.core.v3.QueryExecutorImpl.execute
>> (QueryExecutorImpl.java:201)
>>
>> at
>> org.postgresql.jdbc2.AbstractJdbc2Statement.execute
>> (AbstractJdbc2Statement.j
>> ava:389)
>> at
>> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags
>> (AbstractJdbc2St
>> atement.java:314)
>> at
>> org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery
>> (AbstractJdbc2Statem
>> ent.java:221)
>> at
>> org.postgresql.jdbc2.AbstractJdbc2DatabaseMetaData.getMaxNameLength
>> (Abstract
>> Jdbc2DatabaseMetaData.java:81)
>> at
>> org.postgresql.jdbc2.AbstractJdbc2DatabaseMetaData.getColumns
>> (AbstractJdbc2D
>> atabaseMetaData.java:2382)
>>
>>
>> ----------------------------------------------------------------
>> My code:
>>
>> DatabaseMetaData metaData = connection.getMetaData(); ResultSet
>> result = metaData.getColumns("",schema,table,"");
>>
>>
>> Has anybody a solution for my problem?
>>
>> Best regards
>>
>> Sven Hütten
>>
>>
>> ---------------------------(end of
>> broadcast)---------------------------
>> TIP 2: Don't 'kill -9' the postmaster
>>
>>
>>
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that
> your
> message can get through to the mailing list cleanly
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that
> your
> message can get through to the mailing list cleanly
>
>
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings
Sven Hütten wrote:
> org.postgresql.util.PSQLException: Eingabe/Ausgabe-Fehler {0} beim Senden an
> das Backend.
Is there a nested exception also reported? This is a generic "I/O error
occurred" exception that doesn't give us much info.
-O
Hello,
now, i have logged the cause of the PSQLException. Here are the stacktrace:
java.io.IOException: Stream closed
at sun.nio.cs.StreamEncoder.ensureOpen(StreamEncoder.java:38)
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:151)
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:213)
at org.postgresql.core.PGStream.flush(PGStream.java:493)
at
org.postgresql.core.v3.QueryExecutorImpl.sendSync(QueryExecutorImpl.java:631
)
at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:174)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.j
ava:389)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2St
atement.java:314)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statem
ent.java:221)
at
org.postgresql.jdbc2.AbstractJdbc2DatabaseMetaData.getMaxNameLength(Abstract
Jdbc2DatabaseMetaData.java:81)
at
org.postgresql.jdbc2.AbstractJdbc2DatabaseMetaData.getColumns(AbstractJdbc2D
atabaseMetaData.java:2382)
Best regards...
Sven Hütten
-----Ursprüngliche Nachricht-----
Von: pgsql-jdbc-owner+M13852@postgresql.org
[mailto:pgsql-jdbc-owner+M13852@postgresql.org] Im Auftrag von Oliver Jowett
Gesendet: Donnerstag, 15. September 2005 23:13
An: Sven Hütten
Cc: pgsql-jdbc@postgresql.org
Betreff: Re: [JDBC] org.postgresql.util.PSQLException:
Eingabe/Ausgabe-Fehler
Sven Hütten wrote:
> org.postgresql.util.PSQLException: Eingabe/Ausgabe-Fehler {0} beim
> Senden an das Backend.
Is there a nested exception also reported? This is a generic "I/O error
occurred" exception that doesn't give us much info.
-O
---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly
Sven Hütten wrote: > now, i have logged the cause of the PSQLException. Here are the stacktrace: > > java.io.IOException: Stream closed > at sun.nio.cs.StreamEncoder.ensureOpen(StreamEncoder.java:38) The two most likely options here are: - you are closing the Connection, then trying to use an object created from it such as a Statement; or - you are ignoring a fatal SQLException thrown by an earlier operation that is causing the Connection to be automatically closed. -O