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

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

Oracle JDBC Connection crashes with setIncludeSynonyms = true

From: 4 Integration <4integration_at_gmail.com>
Date: Fri, 02 Feb 2007 00:06:00 +0100
Message-ID: <eptrnv$fjr$2@independence.tornevall.net>


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
Received on Thu Feb 01 2007 - 17:06:00 CST

Original text of this message

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