joeNOSPAM_at_BEA.com wrote:
> 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?
>
One of the strange things ... no exceptions.
--
// 4 Integration
Received on Thu Feb 01 2007 - 23:57:29 CST