From ddlutils-dev-return-169-apmail-db-ddlutils-dev-archive=db.apache.org@db.apache.org Wed Oct 12 14:14:27 2005 Return-Path: Delivered-To: apmail-db-ddlutils-dev-archive@www.apache.org Received: (qmail 82371 invoked from network); 12 Oct 2005 14:14:27 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 12 Oct 2005 14:14:27 -0000 Received: (qmail 94903 invoked by uid 500); 12 Oct 2005 14:14:26 -0000 Delivered-To: apmail-db-ddlutils-dev-archive@db.apache.org Received: (qmail 94868 invoked by uid 500); 12 Oct 2005 14:14:26 -0000 Mailing-List: contact ddlutils-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ddlutils-dev@db.apache.org Delivered-To: mailing list ddlutils-dev@db.apache.org Received: (qmail 94857 invoked by uid 99); 12 Oct 2005 14:14:26 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [192.87.106.226] (HELO ajax.apache.org) (192.87.106.226) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Oct 2005 07:14:26 -0700 Received: from ajax.apache.org (ajax.apache.org [127.0.0.1]) by ajax.apache.org (Postfix) with ESMTP id E4D35512 for ; Wed, 12 Oct 2005 16:14:04 +0200 (CEST) Message-ID: <560577935.1129126444914.JavaMail.jira@ajax.apache.org> Date: Wed, 12 Oct 2005 16:14:04 +0200 (CEST) From: "Alexandre Borgoltz (JIRA)" To: ddlutils-dev@db.apache.org Subject: [jira] Updated: (DDLUTILS-29) "Stream is already closed" with Oracle In-Reply-To: <169363676.1129126326414.JavaMail.jira@ajax.apache.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N [ http://issues.apache.org/jira/browse/DDLUTILS-29?page=3Dall ] Alexandre Borgoltz updated DDLUTILS-29: --------------------------------------- Attachment: oracle_COLUMN_DEF_bug.patch > "Stream is already closed" with Oracle > -------------------------------------- > > Key: DDLUTILS-29 > URL: http://issues.apache.org/jira/browse/DDLUTILS-29 > Project: DdlUtils > Type: Bug > Environment: Using oracle10g jdbc client driver with oracle 8i server > Reporter: Alexandre Borgoltz > Assignee: Thomas Dudziak > Attachments: oracle_COLUMN_DEF_bug.patch > > I get a SQLException stating that the "stream is already closed". > It occurs in at org.apache.ddlutils.io.JdbcModelReader.getValueAsString > for the "COLUMN_DEF" column. > Here is the stack trace - as you can see, I am using the ant task, with t= he sample xml provided on DdlUtils' site. > java.sql.SQLException: Le flux de donn=C3=A9es est d=C3=A9j=C3=A0 ferm=C3= =A9 > at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:= 125) > at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:= 162) > at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:= 227) > at oracle.jdbc.driver.LongAccessor.getBytes(LongAccessor.java:166) > at oracle.jdbc.driver.LongAccessor.getString(LongAccessor.java:207) > at oracle.jdbc.driver.T4CLongAccessor.getString(T4CLongAccessor.java:390) > at oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.j= ava:355) > at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1559= ) > at org.apache.ddlutils.io.JdbcModelReader.getValueAsString(JdbcModelReade= r.java:494) > at org.apache.ddlutils.io.JdbcModelReader.getColumnsForTable(JdbcModelRea= der.java:277) > at org.apache.ddlutils.io.JdbcModelReader.getTables(JdbcModelReader.java:= 205) > at org.apache.ddlutils.io.JdbcModelReader.getDatabase(JdbcModelReader.jav= a:140) > at org.apache.ddlutils.task.DatabaseToDdlTask.readSchema(DatabaseToDdlTas= k.java:194) > at org.apache.ddlutils.task.DatabaseToDdlTask.execute(DatabaseToDdlTask.j= ava:214) > I have tested it with 8i, 9i and 10g versions of the client oracle driver= - same result. > It highly looks like this is a bug in oracle's drivers management of Long= fields.=20 > My tests proved that resultset.getString("COLUMN_DEF") : > +can't be called twice (if .next() is not called obviously) > +always fails for primary fields with 9i- drivers > +fails if called after e.g. .getString("IS_NULLABLE") with 10g drivers > +works OK if called first *with 10g drivers* > So what I did is modify > JdbcModelReader.getColumnsForTable(DatabaseMetaData, String) > and move the call of > getValueAsString(..., "COLUMN_DEF", ...) > to be the first one called. This works perfectly on my platform now. > I'll attach the corresponding patch --=20 This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira