Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Oracle JDBC Connection crashes with setIncludeSynonyms = true

Re: Oracle JDBC Connection crashes with setIncludeSynonyms = true

From: <joeNOSPAM_at_BEA.com>
Date: 1 Feb 2007 17:27:30 -0800
Message-ID: <1170379650.652008.140360@v45g2000cwv.googlegroups.com>


On Feb 1, 3:05 pm, 4 Integration <4integrat..._at_gmail.com> wrote:
> Hi,
>
> We have serious problems with the Oracle JDBC connection "crashes" when
> the setIncludeSynonyms is true and getting metadata. When
> setIncludeSynonyms is false it works fine. The real context is a bought
> product that uses setIncludeSynonyms = true..
>
> Using ojdbc14_g.jar (10.2.0.2.0) and my test application is:
>
> package test;
>
> import java.sql.Connection;
> import java.sql.DatabaseMetaData;
> import java.sql.DriverManager;
> import java.sql.ResultSet;
> import java.util.Enumeration;
>
> import oracle.jdbc.OracleConnection;
>
> public class OracleTest {
> public static void main(String[] args) {
> try {
> DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
> oracle.jdbc.driver.OracleLog.setTrace(true);
>
> Enumeration enums = DriverManager.getDrivers();
> while (enums.hasMoreElements()) {
> System.out.println("Driver \"" +
> enums.nextElement().getClass().getName() + "\" is loaded");
> }
>
> Connection conn =
> DriverManager.getConnection("jdbc:oracle:thin:@ora.domain.net:1521:dbname",
> "userid", "password");
> System.out.println("Connection Class: " + conn.getClass().getName());
>
> ((OracleConnection)conn).setIncludeSynonyms(true);
> DatabaseMetaData dbmd = conn.getMetaData();
> ResultSet r = dbmd.getColumns(null, "MYSCHEMA", "MY_TABLE", "%");
> while (r.next()) {
> System.out.println("[Column name: "+ r.getString(4)+ "] [Data type:
> " + r.getString(5)+ "] [Data type name: " + r.getString(5)+"]");
> }
> conn.close();
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
>
> }
>
> This results in the following trace:
> =============================================================
> Driver "oracle.jdbc.driver.OracleDriver" is loaded
> Driver "oracle.jdbc.driver.OracleDriver" is loaded
> 2007-feb-01 23:53:35 oracle.jdbc.driver.PhysicalConnection setAutoCommit
> INFO: PhysicalConnection.setAutoCommit(autoCommit=true)
> 2007-feb-01 23:53:35 oracle.jdbc.driver.PhysicalConnection setAutoCommit
> INFO: PhysicalConnection.setAutoCommit(autoCommit): return
> 2007-feb-01 23:53:35 oracle.jdbc.driver.PhysicalConnection
> setIncludeSynonyms
> INFO: PhysicalConnection.setIncludeSynonyms(synonyms=true)
> 2007-feb-01 23:53:35 oracle.jdbc.driver.PhysicalConnection getMetaData
> INFO: PhysicalConnection.getMetaData()
> 2007-feb-01 23:53:35 oracle.jdbc.driver.PhysicalConnection
> getIncludeSynonyms
> INFO: PhysicalConnection.getIncludeSynonyms() returned true
> Connection Class: oracle.jdbc.driver.T4CConnection
> 2007-feb-01 23:53:35 oracle.jdbc.driver.PhysicalConnection
> getRemarksReporting
> INFO: PhysicalConnection.getRemarksReporting()
> 2007-feb-01 23:53:35 oracle.jdbc.driver.PhysicalConnection
> getRemarksReporting
> INFO: PhysicalConnection.getRemarksReporting()
> 2007-feb-01 23:53:35 oracle.jdbc.driver.PhysicalConnection
> getIncludeSynonyms
> INFO: PhysicalConnection.getIncludeSynonyms() returned true
> 2007-feb-01 23:53:35 oracle.jdbc.driver.PhysicalConnection
> getIncludeSynonyms
> INFO: PhysicalConnection.getIncludeSynonyms() returned true
> 2007-feb-01 23:53:35 oracle.jdbc.driver.PhysicalConnection
> getRemarksReporting
> INFO: PhysicalConnection.getRemarksReporting()
> 2007-feb-01 23:53:35 oracle.jdbc.driver.PhysicalConnection
> getIncludeSynonyms
> INFO: PhysicalConnection.getIncludeSynonyms() returned true
> 2007-feb-01 23:53:35 oracle.jdbc.driver.PhysicalConnection
> getDefaultFixedString
> INFO: PhysicalConnection.getDefaultFixedString() returning false
> 2007-feb-01 23:53:35 oracle.jdbc.driver.PhysicalConnection
> getIncludeSynonyms
> INFO: PhysicalConnection.getIncludeSynonyms() returned true
> 2007-feb-01 23:53:35 oracle.jdbc.driver.OraclePreparedStatement setString
> INFO: OraclePreparedStatement.setString(paramIndex=1, x=MYSCHEMA)
> 2007-feb-01 23:53:35 oracle.jdbc.driver.OraclePreparedStatement setString
> INFO: OraclePreparedStatement.setString(paramIndex=2, x=MYSCHEMA)
> 2007-feb-01 23:53:35 oracle.jdbc.driver.OraclePreparedStatement setString
> INFO: OraclePreparedStatement.setString(paramIndex=3, x=MY_TABLE)
> 2007-feb-01 23:53:35 oracle.jdbc.driver.OraclePreparedStatement setString
> INFO: OraclePreparedStatement.setString(paramIndex=4, x=MY_TABLE)
> 2007-feb-01 23:53:35 oracle.jdbc.driver.OraclePreparedStatement setString
> INFO: OraclePreparedStatement.setString(paramIndex=5, x=%)
> 2007-feb-01 23:53:35 oracle.jdbc.driver.OraclePreparedStatement setString
> INFO: OraclePreparedStatement.setString(paramIndex=6, x=MYSCHEMA)
> 2007-feb-01 23:53:36 oracle.jdbc.driver.T4CPreparedStatement
> allocateTmpByteArray
> ALLVARLIG: oracle.jdbc.driver.T4CPreparedStatement.allocateTmpByteArray
> : Re-allocate byte array of size : 16000
> 2007-feb-01 23:53:39 oracle.jdbc.driver.PhysicalConnection close
> INFO: PhysicalConnection.close()
> =============================================================
>
> Why does this happen?
> How can I solve this?
>
> I would be very happy if someone could help me solve this.
>
> --
> // 4 Integration

What is the exception your program gets? Received on Thu Feb 01 2007 - 19:27:30 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US