Ojdbc14 drivers: ArrayIndexOutOfBoundsException

Hi all,
we experience a random error while executing a stored procedure on an Oracle Db.
The procedure is called by 100 running parallel threads (each thread calls it once with different parameters) but some times (<1%) it fails, here is the stack trace:
java.lang.ArrayIndexOutOfBoundsException: -3445775
at oracle.jdbc.driver.DateCommonBinder.setOracleCYMD(OraclePreparedStatement.java:15532)
at oracle.jdbc.driver.DateBinder.bind(OraclePreparedStatement.java:15627)
at oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers(OraclePreparedStatement.java:2866)
at oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:2151)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3280)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3390)
at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4223)
at com.cgey.report.ReportGeneratorThread.callSP(ReportGeneratorThread.java:99)
at com.cgey.report.ReportGeneratorThread.load(ReportGeneratorThread.java:188)
at com.cgey.report.ReportGeneratorThread.run(ReportGeneratorThread.java:240)
If you try to run the same procedure that failed independently the execution is correct.
Oracle Version: Version 9.2.0.6.0
Drivers Version: Oracle JDBC Driver version - "10.2.0.1.0" (Jun 2005)
Is it possible that this issue is related to the BUG-6396242? Does anyone has a solution for 10g drivers?
Thank you in advance!
Edited by: 791859 on 31-ago-2010 12.39

I'll try to update the drivers, but I hope that this won't introduce new problems due to missing backward compatibility...
Any other idea? Do you think that reducing the number of parallel threads could help us?

Similar Messages

  • [b]Connection to Oracle DB per JDBC URGENT HELP NEEDED PLEASE![/b]

    Hallo,
    I'm a newbie. I want to make a connection to the oracle db on the server and I have been having serious problems. See CODE and ERROR MESSAGEs below:
    import java.sql.*;
    public class SqlConnection01 {
         public static void main(String[] args) {
              Connection con = null;
              Statement stmt = null;
              try {
                   Class.forName("oracle.jdbc.driver.OracleDriver"); //Loading the Oracle Driver.
    con = DriverManager.getConnection
         ("jdbc:oracle:thin:@38.218.2.227:1521:testdb","data","test"); //making the connection.
                   stmt = con.createStatement ();// Sending a query to the database
                   ResultSet rs = stmt.executeQuery("SELECT mand,kost,ktest,kok FROM test");
                        while (rs.next()) {
                             String mandt = rs.getString("1");
                             String kostl = rs.getString("2");
                             String ktest = rs.getString("3");
                             String kokrs = rs.getString("4");
                             System.out.println( mandt + kostl ktest kokrs );
              } catch(Exception e) {
                   e.printStackTrace();
              } finally {
                   try
                        if(stmt != null) stmt.close();
                        if(con != null) con.close();
                   } catch (Exception exception) {
                        exception.printStackTrace();
    ERROR MESSAGE:
    java.sql.SQLException: Io exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153092352)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334)
         at oracle.jdbc.ttc7.TTC7Protocol.handleIOException(TTC7Protocol.java:3695)
         at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:352)
         at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:362)
         at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:536)
         at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:328)
         at java.sql.DriverManager.getConnection(Unknown Source)
         at java.sql.DriverManager.getConnection(Unknown Source)
         at SqlConnection01.main(SqlConnection01.java:24)
    What am I doing wrong here. I am using Oracle9i client installed on my pc (Release 2 (9.2.0.1.0) for Windows ) so I downloaded the ojdbc14 drivers for this version and I copied them in my bin directory C:\j2sdk1.4.2_06\bin\ojdbc14 .
    Secondly I can connect to the db per command line( sqlplus /nolog; conn data/test@testdb) and querry the testdb.
    I can also test the connection using oracle Net Manager and the test is successful.
    But I can't start up the lsnrctl on my pc.I get this message any time i issue the command(C:\>lsnrctl
    'lsnrctl' is not recognized as an internal or external command, operable program or batch file.)
    What am I doing wrong here? What should I do to have this connection possible. Thanks very much in advance.

    oh sure! Below is the TNSNAMES I copied from my PCfound in(C:\oracle\ora92\network\admin\SAMPLE) The next thing could be how could I get access to the TNSNAMES on the server?
    STARTS HERE:
    <alias>= [ (DESCRIPTION_LIST =  # Optional depending on whether u have
                        # one or more descriptions
                        # If there is just one description, unnecessary ]
         (DESCRIPTION=
         [ (SDU=2048) ]     # Optional, defaults to 2048
                        # Can take values between 512 and 32K
         [ (ADDRESS_LIST=    # Optional depending on whether u have
                        # one or more addresses
                        # If there is just one address, unnecessary ]
         (ADDRESS=
              [ (COMMUNITY=<community_name>) ]
              (PROTOCOL=tcp)
              (HOST=<hostname>)
              (PORT=<portnumber (1521 is a standard port used)>)
         [ (ADDRESS=
              (PROTOCOL=ipc)
              (KEY=<ipckey (PNPKEY is a standard key used)>)     
         [ (ADDRESS=
              [ (COMMUNITY=<community_name>) ]
              (PROTOCOL=decnet)
              (NODE=<nodename>)
              (OBJECT=<objectname>)
    ... # More addresses
         [ ) ] # Optional depending on whether ADDRESS_LIST is used or not
         [ (CONNECT_DATA=
              (SID=<oracle_sid>)
              [ (GLOBAL_NAME=<global_database_name>) ]
         [ (SOURCE_ROUTE=yes) ]
         (DESCRIPTION=
         [ (SDU=2048) ]     # Optional, defaults to 2048
                        # Can take values between 512 and 32K
         [ (ADDRESS_LIST= ]     # Optional depending on whether u have more
                        # than one address or not
                        # If there is just one address, unnecessary
         (ADDRESS
              [ (COMMUNITY=<community_name>) ]
              (PROTOCOL=tcp)
              (HOST=<hostname>)
              (PORT=<portnumber (1521 is a standard port used)>)
         [ (ADDRESS=
              (PROTOCOL=ipc)
              (KEY=<ipckey (PNPKEY is a standard key used)>)
         ...           # More addresses
         [ ) ]           # Optional depending on whether ADDRESS_LIST
                        # is being used
         [ (CONNECT_DATA=
              (SID=<oracle_sid>)
              [ (GLOBAL_NAME=<global_database_name>) ]
         [ (SOURCE_ROUTE=yes) ]
         [ (CONNECT_DATA=
         (SID=<oracle_sid>)
         [ (GLOBAL_NAME=<global_database_name>) ]
         ... # More descriptions
         [ ) ]     # Optional depending on whether DESCRIPTION_LIST is used or not
    I think this is the example of what is in the TNSNAMES. It hasn't got the infos I need here.It just explain.

  • Memory leak on application undeploy.

    We're creating a Spring-based web app that is using a Tomcat 7.0.33 managed Oracle database pool. We're using the ojdbc6.jar to connect (Oracle 10g but migrating to 11g later).
    When our application is undeployed in Tomcat we get probable memory leak warnings (see below). After several re-deploys we inevitably run out of PermGen space. I've tried using the ojdbc14 drivers and they didn't seem to have this problem. But we're moving to 11g so we can't use them. I have tried adding a ContextListener that closes the DBCP pool on destroy but that didn't help any. Is this a bug in the Oracle drivers? Is there any way we can mitigate this?
    17505 INFO org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'myManager'
    17515 INFO org.apache.tiles.access.TilesAccess - Removing TilesContext for context: org.springframework.web.servlet.view.tiles2.SpringTilesApplicationContextFactory$SpringWildcardServletTilesApplicationContext
    Dec 06, 2012 6:41:29 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
    SEVERE: The web application [myApp] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@1468544]) and a value of type [java.lang.Class] (value [class oracle.sql.AnyDataFactory]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
    Dec 06, 2012 6:41:29 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
    SEVERE: The web application [myApp] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@d73b31]) and a value of type [java.lang.Class] (value [class oracle.sql.TypeDescriptorFactory]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
    Dec 06, 2012 6:41:29 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
    SEVERE: The web application [myApp] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@13aae39]) and a value of type [java.lang.Class] (value [class oracle.sql.TypeDescriptorFactory]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
    Dec 06, 2012 6:41:29 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
    SEVERE: The web application [myApp] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@18443b1]) and a value of type [java.lang.Class] (value [class oracle.sql.AnyDataFactory]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
    Dec 06, 2012 6:41:34 PM org.apache.catalina.startup.HostConfig deleteRedeployResources
    INFO: Undeploying context [myApp]

    Nevermind - It figures just after I post this I find the solution. And naturally it's not a bug in the ojdbc6.jar drivers. :-)
    It turns out our application was also including ojdbc6.jar in WEB-INF/lib. This caused Tomcat to use our jar for connections and thus the leak was formed. So not deploying ojdbc6.jar with our application (marking it as "provided" in pom.xml) lets Tomcat manage the connections and clean-up our app.

  • JDBC query hangs for 60 seconds

    Hi,
    I'm trying to perform a series of very simple queries on a 8.1.7 database with jdk1.4 and ojdbc14 drivers. Every now and then, a query just hangs for exactly 60 seconds before continuing, without throwing any kind of exception. This sometimes happens after a couple of hundred queries, but it can also be after 4 or five. I thought maybe the database runs out of cursors, but then I would get an exception right? After every query, I close the ResultSet and Statement, so it should work just fine. When I tested the same program on PostgreSQL 7.2, it worked perfectly. Is this a problem with the Oracle JDBC drivers, or am I missing something?
    Here's the code of my simple test app:
    import java.sql.*;
    import java.io.*;
    class JdbcTest {
    public static void main (String args []) throws Exception {
    DriverManager.registerDriver (new oracle.jdbc.OracleDriver());
    Connection conn = DriverManager.getConnection
    ("jdbc:oracle:thin:@foo.bar.com:1521:BLABLA","test", "test");
         for (int i=0;i<500;i++) {
         Statement stmt = conn.createStatement ();
         ResultSet rset = stmt.executeQuery ("SELECT sitenr,omschrijving FROM site");
         while (rset.next ())
              System.out.println (rset.getString (1) + ": " + rset.getString(2));
         rset.close();
         stmt.close();
    conn.close();
    }

    Here's the thread dump:
    "Signal Dispatcher" daemon prio=10 tid=0x009E8118 nid=0xdc4 waiting on condition
    [0..0]
    "Finalizer" daemon prio=9 tid=0x0003E6F0 nid=0xdd4 in Object.wait() [ab1f000..ab
    1fd88]
    at java.lang.Object.wait(Native Method)
    - waiting on <02F81698> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
    - locked <02F81698> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
    "Reference Handler" daemon prio=10 tid=0x0003D2C0 nid=0xdd8 in Object.wait() [aa
    df000..aadfd88]
    at java.lang.Object.wait(Native Method)
    - waiting on <02F81700> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:426)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:113)
    - locked <02F81700> (a java.lang.ref.Reference$Lock)
    "main" prio=5 tid=0x00034AB8 nid=0xdc8 runnable [7f000..7fc3c]
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at oracle.net.ns.Packet.receive(Unknown Source)
    at oracle.net.ns.NetInputStream.getNextPacket(Unknown Source)
    at oracle.net.ns.NetInputStream.read(Unknown Source)
    at oracle.net.ns.NetInputStream.read(Unknown Source)
    at oracle.net.ns.NetInputStream.read(Unknown Source)
    at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:931)
    at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:893)
    at oracle.jdbc.ttc7.Oopen.receive(Oopen.java:105)
    at oracle.jdbc.ttc7.TTC7Protocol.open(TTC7Protocol.java:586)
    - locked <02FCA940> (a oracle.jdbc.ttc7.TTC7Protocol)
    at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:385)
    at oracle.jdbc.driver.OracleConnection.privateCreateStatement(OracleConn
    ection.java:772)
    at oracle.jdbc.driver.OracleConnection.createStatement(OracleConnection.
    java:712)
    - locked <02FCA890> (a oracle.jdbc.driver.OracleConnection)
    at JdbcTest.main(JdbcTest.java:11)
    "VM Thread" prio=5 tid=0x009E5030 nid=0xde0 runnable
    "VM Periodic Task Thread" prio=10 tid=0x009E6E00 nid=0xdd0 waiting on condition
    "Suspend Checker Thread" prio=10 tid=0x009E7750 nid=0xdcc runnable

  • BLOB insertion in Oracle 10g database using ojdbc14 (10g drivers)

    Hello!
    I have a situation where I am trying to insert a blob data into oracle 10g database using oracle thin
    10g drivers, <b>ojdbc14.jar</b> in <b>weblogic 8.1 sp2</b>. I have the following error happening very intermittently.
    <u><b>java.sql.SQLException: OALL8 is in an inconsistent state.</b></u>
    And this is leading to the <u><b>"No more data to read from socket"</b></u> error when I am trying to
    insert the BLOB into the database. I have gone through the bug list of SP2 and have realised there is the
    following issue fixed in SP3.
    <b>CR124933</b>
    <b>An Oracle BLOB sometimes used a pooled connection after the connection pool determined that
    the connection was available for reassignment.
    Code was added to ensure the BLOB is completely processed before closing the pool connection or
    ending the transaction.</b>
    I believe the problem arises when we try to insert BLOB into database using a refreshed connection
    from the pool.We have upgraded weblogic 8.1 from SP2 to SP4 service pack inorder to come over the above problem.
    But this still continues to behave intermittently.
    We put ojdbc14.jar in our classpath and Weblogic startup classpath looks like the following :-
    WLS_CLASSPATH=${WLS_DOMAIN_DIR}/appslib/server.jar:$PRE_CLASSPATH:${WLS_WEBLOGIC_HOME}/server/lib/weblogic.jar:
    ${WLS_WEBLOGIC_HOME}/server/lib/ojdbc14.jar:${WLS_WEBLOGIC_HOME}/server/lib:${WLS_JAVA_HOME}/lib/tools.jar:
    ${WLS_JAVA_HOME}/jre/lib/rt.jar:${WLS_WEBLOGIC_HOME}/server/lib/webservices.jar:${WLS_CONFIG_DIR}:
    ${WLS_CUSTLIB_DIR}:${WLS_BIN_DIR}:$POST_CLASSPATH
    export WLS_CLASSPATH
    CLASSPATH=${WLS_CLASSPATH}:${APP_CLASSPATH}
    export CLASSPATH
    After upgrade to SP4, there are new ojdbc14_g.jar(debug jar) and orai18n.jar jars in the ${WLS_WEBLOGIC_HOME}/server/ext/jdbc/oracle/10g directory added.
    Please let me know if I need to update classpath with the new 10g jars in the ext/lib directory or any suggestions
    to insert BLOB using the ojdbc14 10G drivers, Weblogic 8.1 environment would be appreciated.
    Following is the stack trace of the errors that I recieve:
    <Oct 6, 2005 1:29:36 PM EDT> <Error> <JDBC> <BEA-001112> <Test "select count(*) from DUAL" set up for pool
    "MHUBPoolStage" failed with exception: "java.sql.SQLException: OALL8 is in an inconsistent state".>
    <Oct 6, 2005 1:29:36 PM EDT> <Info> <JDBC> <BEA-001128> <Connection for pool "MHUBPoolStage" closed.>
    <Oct 6, 2005 1:29:36 PM EDT> <Info> <JDBC> <BEA-001067> <Connection for pool "MHUBPoolStage" refreshed.>
    <Oct 6, 2005 1:29:36 PM EDT> <Info> <EJB> <BEA-010051>
    java.rmi.RemoteException: TransactionRequestManager.requestTransaction():
    Caught PersistnceException com.mortgagehub.busobj.PersistenceException: -5258: No more data to read from socket
    Please let me know if there is anything that I am missing.
    Thanks
    Pradeep G

    pradeep g wrote:
    Hello!
    I have a situation where I am trying to insert a blob data into oracle 10g database using oracle thin
    10g drivers, <b>ojdbc14.jar</b> in <b>weblogic 8.1 sp2</b>. I have the following error happening very intermittently.
    > <u><b>java.sql.SQLException: OALL8 is in an inconsistent state.</b></u>
    And this is leading to the <u><b>"No more data to read from socket"</b></u> error when I am trying to
    insert the BLOB into the database. I have gone through the bug list of SP2 and have realised there is the
    following issue fixed in SP3.
    > <b>CR124933</b>
    <b>An Oracle BLOB sometimes used a pooled connection after the connection pool determined that
    the connection was available for reassignment.
    Code was added to ensure the BLOB is completely processed before closing the pool connection or
    ending the transaction.</b>
    > I believe the problem arises when we try to insert BLOB into database using a refreshed connection
    from the pool.We have upgraded weblogic 8.1 from SP2 to SP4 service pack inorder to come over the above problem.
    But this still continues to behave intermittently.
    We put ojdbc14.jar in our classpath and Weblogic startup classpath looks like the following :-
    > WLS_CLASSPATH=${WLS_DOMAIN_DIR}/appslib/server.jar:$PRE_CLASSPATH:${WLS_WEBLOGIC_HOME}/server/lib/weblogic.jar:
    ${WLS_WEBLOGIC_HOME}/server/lib/ojdbc14.jar:${WLS_WEBLOGIC_HOME}/server/lib:${WLS_JAVA_HOME}/lib/tools.jar:
    ${WLS_JAVA_HOME}/jre/lib/rt.jar:${WLS_WEBLOGIC_HOME}/server/lib/webservices.jar:${WLS_CONFIG_DIR}:
    ${WLS_CUSTLIB_DIR}:${WLS_BIN_DIR}:$POST_CLASSPATH
    export WLS_CLASSPATH
    CLASSPATH=${WLS_CLASSPATH}:${APP_CLASSPATH}
    export CLASSPATH
    > After upgrade to SP4, there are new ojdbc14_g.jar(debug jar) and orai18n.jar jars in the ${WLS_WEBLOGIC_HOME}/server/ext/jdbc/oracle/10g directory added.
    > Please let me know if I need to update classpath with the new 10g jars in the ext/lib directory or any suggestions
    to insert BLOB using the ojdbc14 10G drivers, Weblogic 8.1 environment would be appreciated.
    > Following is the stack trace of the errors that I recieve:
    > <Oct 6, 2005 1:29:36 PM EDT> <Error> <JDBC> <BEA-001112> <Test "select count(*) from DUAL" set up for pool
    "MHUBPoolStage" failed with exception: "java.sql.SQLException: OALL8 is in an inconsistent state".>
    <Oct 6, 2005 1:29:36 PM EDT> <Info> <JDBC> <BEA-001128> <Connection for pool "MHUBPoolStage" closed.>
    <Oct 6, 2005 1:29:36 PM EDT> <Info> <JDBC> <BEA-001067> <Connection for pool "MHUBPoolStage" refreshed.>
    <Oct 6, 2005 1:29:36 PM EDT> <Info> <EJB> <BEA-010051>
    java.rmi.RemoteException: TransactionRequestManager.requestTransaction():
    Caught PersistnceException com.mortgagehub.busobj.PersistenceException: -5258: No more data to read from socket
    Please let me know if there is anything that I am missing.
    > Thanks
    > Pradeep GHi. This is something we'd like to diagnose. How is your application
    getting using and closing pool connections? The initial symptom
    seems to be an internal oracle problem... Are you using standard
    JDBC or oracle-specific calls?
    Joe

  • Jdbc 10.1.0.5 (patchset) and ArrayIndexOutOfBoundsException

    [jdbc version 10.1.0.5 (patchset) and ArrayIndexOutOfBoundsException]
    Hello
    We finnaly got the 10.1.0.5 patchset, extracted the jdbc drivers version 10.1.0.5 and found out that the ArrayIndexOfBoundException problem is still present!
    java.lang.ArrayIndexOutOfBoundsException: -1
         at oracle.jdbc.driver.DateTimeCommonAccessor.computeJulianDay(DateTimeCommonAccessor.java:354)
         at oracle.jdbc.driver.DateTimeCommonAccessor.getMillis(DateTimeCommonAccessor.java:399)
         at oracle.jdbc.driver.DateAccessor.getTimestamp(DateAccessor.java:143)
         at oracle.jdbc.driver.OracleResultSetImpl.getTimestamp(OracleResultSetImpl.java:724)
         at cybiz.db.GeneralDB.pesquisaPaginadaSimples(GeneralDB.java:854)
    driver files: ojdbc14dms.jar, ojdbc14.jar and orai18n.jar
    driver version (all tested): 10.0.1.4, 10.0.1.5 (patchset version), 10.2.0.1
    database version: Oracle 9i 9.2.0.1.
    The problem occurs at the the ResultSet.getTimestamp() method. Apparently, it happens after 10 rows are read. This exception is thrown for all database tables that contains date columns.
    Does anybody have any thoughts on this? What is most troublesome is that this error doesn't occur with the jdbc drivers targeted at jdk1.2 (classes12.jar). Another thing is that tthis is not a SQLException. It is a runtime exception that occurs inside the jdbc driver.
    Right now we are stuck...We have a production envirnoment and tons of upgrades that we cannot deploy because of this error.
    Thanks in advance for any help,
    Luis Fernando

    Hello
    It seems I have made a mistake. After installing all files again in a clean directory for the application server, the error did NOT surface. The patch seems to have indeed corrected the problem.
    Sorry for that post.
    Regards,
    Luis Fernando

  • Oracle10g Jdbc Drivers issue with EJB on Weblogic 7

    Hi there,
    We are facing a critical issue on production environment related to Oracle jdbc drivers.
    We have a J2EE application with swing client. We are using MVC framework where client calls go to stateless session bean which redirect it to specific POJO which then uses Entity Beans for persistence.
    We have following environment.
    JDK1.4.2, Weblogic 7 with SP5, Oracle10g on AIX 5.2
    Now the problem is that we were using Oracle 8 jdbc driver classes12.zip for our application. Everything was working smoothly. Recently we moved our weblogic and oracle Servers machines locations, after that movement we started to get an exception when weblogic initializing connection pool that makes connection to a different oracle10g database. Oracle supports ask us to upgrade the jdbc driver. So we moved to 10g driver ojdbc14.jar but during testing one functionality is failing with a exception where rest of application seems to be working fine. The exception occurs when we try to post a record and during the creation of a child entity bean the transactions rollback for some unknown reasons. Using the old oracle8 classes12.zip driver the same code working fine again. We have also tried the classes12.zip driver of Oracle10g but error persist. I have checked the code and deployment descriptors but they seems fine. If i comment the creation of that particular entity bean the parent bean get created successfully and transaction commit successfully. Please also note that we have not created any relation b/w both entity beans not even in the database. They both are sort of independent.
    Can any one having any idea why Oracle10g driver not working or what might be the problem with our configuration. Any help will be highly appreciated. Please see the Exception below.
    <Jan 29, 2008 6:03:10 PM PKT> <Info> <EJB> <010036> <Exception from ejbStore: javax.ejb.NoSuchEntityException: Instance
    of bean 'SecurityRatingHistoryPost' with primary key 'com.cdc.fms.server.setup.security.ratinghistory.SecurityRatingHist
    oryEntityPK@93e447fa' not found.
    javax.ejb.NoSuchEntityException: Instance of bean 'SecurityRatingHistoryPost' with primary key 'com.cdc.fms.server.setup
    .security.ratinghistory.SecurityRatingHistoryEntityPK@93e447fa' not found.
    at com.cdc.fms.server.setup.security.ratinghistory.SecurityRatingHistoryEntityBean_7x4361__WebLogic_CMP_RDBMS.__
    WL_store(SecurityRatingHistoryEntityBean_7x4361__WebLogic_CMP_RDBMS.java:2208)
    at com.cdc.fms.server.setup.security.ratinghistory.SecurityRatingHistoryEntityBean_7x4361__WebLogic_CMP_RDBMS.ej
    bStore(SecurityRatingHistoryEntityBean_7x4361__WebLogic_CMP_RDBMS.java:2012)
    at weblogic.ejb20.manager.DBManager.storeBean(DBManager.java(Compiled Code))
    at weblogic.ejb20.manager.DBManager.beforeCompletion(DBManager.java(Compiled Code))
    at weblogic.ejb20.internal.TxManager$TxListener.beforeCompletion(TxManager.java(Compiled Code))
    at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java(Compiled Code))
    --------------- nested within: ------------------
    weblogic.transaction.RollbackException: Unexpected exception in beforeCompletion: sync=weblogic.ejb20.internal.TxManager
    $TxListener@44a824cd
    Instance of bean 'SecurityRatingHistoryPost' with primary key 'com.cdc.fms.server.setup.security.ratinghistory.SecurityR
    atingHistoryEntityPK@93e447fa' not found. - with nested exception:
    [javax.ejb.NoSuchEntityException: Instance of bean 'SecurityRatingHistoryPost' with primary key 'com.cdc.fms.server.setu
    p.security.ratinghistory.SecurityRatingHistoryEntityPK@93e447fa' not found.]
    at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java(Compiled Code))
    at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java(Compiled Code))
    at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java(Compiled Code))
    at weblogic.ejb20.internal.BaseEJBLocalObject.postInvoke(BaseEJBLocalObject.java(Compiled Code))
    at com.cdc.fms.server.common.ConsolidatorSessionBean_fz4673_ELOImpl.processRequest(ConsolidatorSessionBean_fz467
    3_ELOImpl.java:57)
    at com.cdc.fms.server.common.GatewaySessionBean.processRequest(Unknown Source)
    at com.cdc.fms.server.common.GatewaySessionBean_oehtlw_EOImpl.processRequest(GatewaySessionBean_oehtlw_EOImpl.ja
    va:407)
    at com.cdc.fms.server.common.GatewaySessionBean_oehtlw_EOImpl_WLSkel.invoke(Unknown Source)
    <Jan 29, 2008 6:03:10 PM PKT> <Info> <EJB> <010051> <EJB Exception during invocation from home: com.cdc.fms.server.commo
    n.GatewaySessionBean_oehtlw_HomeImpl@3e13a4aa threw exception: javax.ejb.EJBException: nested exception is: weblogic.tra
    nsaction.RollbackException: Unexpected exception in beforeCompletion: sync=weblogic.ejb20.internal.TxManager$TxListener@
    44a824cd
    Instance of bean 'SecurityRatingHistoryPost' with primary key 'com.cdc.fms.server.setup.security.ratinghistory.SecurityR
    atingHistoryEntityPK@93e447fa' not found. - with nested exception:
    [javax.ejb.NoSuchEntityException: Instance of bean 'SecurityRatingHistoryPost' with primary key 'com.cdc.fms.server.setu
    p.security.ratinghistory.SecurityRatingHistoryEntityPK@93e447fa' not found.]
    javax.ejb.EJBException: nested exception is: weblogic.transaction.RollbackException: Unexpected exception in beforeCompl
    etion: sync=weblogic.ejb20.internal.TxManager$TxListener@44a824cd
    ##################################################################

    weblogic 7? when the current production version is 10.2?
    don't play yourself. fund a project to upgrade your weblogic version.
    can't tell based on what you've posted, and I fear that the stuff you'll have to post to get an answer here will be too much. this isn't a good place to come for an answer.
    %

  • Need information on Weblogic JDBC drivers

    Hi,
    I have been using Weblogic 8.1 sp5 with oracle version -Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production.
    Lately i have observed the below error:-
    <Jun 2, 2009 9:56:58 PM MEST> <Error> <JDBC> <BEA-001112> <Test "SELECT 1 FROM DUAL" set up for pool "WIS03 JDBC Connection Pool" failed with exception: "java.sql.SQLException: OALL8 is in an inconsistent state.".>
    This may be linked to the JDBC drivers used with weblogic.
    At weblogic console i can see the list of drivers as - Oracle Driver (Thin) Versions.9.0.1,9.2.0,10
    Is this driver good for the Oracle version 10 g?
    I am clueless for the above exception. Please suggest.
    Thanks & Regards
    Himanshu Tageja

    Thanks Joe.
    I have found the latest ojdbc.jar, below are the detials mentioned about this jar in the manifest.mf:-
    Oracle Database 10g Release 2 (10.2.0.4) JDBC Drivers
    Specification-Title: Oracle JDBC driver classes for use with JDK14
    Sealed: true
    Created-By: 1.4.2_14 (Sun Microsystems Inc.)
    Implementation-Title: ojdbc14.jar
    Specification-Vendor: Oracle Corporation
    Specification-Version: Oracle JDBC Driver version - "10.2.0.4.0"
    Implementation-Version: Oracle JDBC Driver version - "10.2.0.4.0"
    Implementation-Vendor: Oracle Corporation
    Implementation-Time: Sat Feb 2 11:40:29 2008
    Now the issue is with respect to the Java_version used for this jar which is 1.4.2_14 (Sun Microsystems Inc.)
    but my weblogic server uses jdk142_08.
    I have done quick tests after replacing the jar from the server/lib directory and seems no issue but can the differences in Java version lead to potential issues in future?
    Awaiting your valuable response.

  • JDBC drivers not working in QA for multibye characters

    Hi,
    we have a problem with JDBC and deployed in DEV system and its works fine, but the same when we deply in QA its not working.
    the problem we are trying to use the simple select query from ORACLE DB.
    In ORACLE DB they converted the chenise char to English after that our JDBC drivers are not able to pick the multibite char.
    XI JDBC Adapter shows below error with a SELECT Query
    SELECT Query:SELECT * FROM APPS.ITEM_XI_V The Chinese character are converted to English and becomes multibye characters.
    Error:Error during conversion of query result to XML: java.sql.SQLException: Fail to convert between UTF8 and UCS2: failUTF8Conv
    Assumption is that the issue with older version of  ojdbc14.zip (JDBC Driver file)
    Reference:http://www.coderanch.com/t/299231/JDBC/java/UTF-conversion
    implement SAP Note 941317 in order to resolve the current issue.
    Note 941317 - XI / PI JDBC Adapter: Known Problems / Incompatibilities JDBC Driver Deployment. Refer to  SAP Note 831162
    after apply as per note for DEV system its works fine, but the same when we did for our QA system still the same error.
    Thanks,
    Venkat.

    Hi Gurus,
    Any idea where i am doing wrong.. in QA i am able to extract data with simple select statment with normal tables...
    Thanks,
    Venkat

  • Bug in TNS Parser of ojdbc14.jar

    Hi,
    we recently had problems with two customers using ojdbc14.jar in association with tnsnames.ora. The following exception was thrown:
    java.lang.ArrayIndexOutOfBoundsException : Array index out of range: 148
    oracle.net.nl.NVTokens.parseTokens(Unknown Source)
    oracle.net.nl.NVFactory.createNVPair(Unknown Source)
    oracle.net.nl.NLParamParser.addNLPListElement(Unknown Source)
    oracle.net.nl.NLParamParser.initializeNlpa(Unknown Source)
    oracle.net.nl.NLParamParser.<init>(Unknown Source)
    oracle.net.resolver.TNSNamesNamingAdapter.loadFile(Unknown Source)
    oracle.net.resolver.TNSNamesNamingAdapter.checkAndReload(Unknown Source)
    oracle.net.resolver.TNSNamesNamingAdapter.resolve(Unknown Source)
    oracle.net.resolver.NameResolver.resolveName(Unknown Source)
    oracle.net.resolver.AddrResolution.resolveAndExecute(Unknown Source)
    oracle.net.ns.NSProtocol.establishConnection(Unknown Source)
    oracle.net.ns.NSProtocol.connect(Unknown Source)
    oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:858)
    oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:268)
    oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:441)
    oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
    oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
    oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
    I checked with JAD what's wrong in that NVTokens class and found the following code fragment:
    public boolean parseTokens(String s)
    _numTokens = 0;
    _tkPos = 0;
    _tkType = new Vector(25, 25);
    _tkValue = new Vector(25, 25);
    int i = s.length();
    char ac[] = s.toCharArray();
    int j = 0;
    do
    if(j >= i)
    break;
    for(; j < i && _isWhiteSpace(ac[j]); j++);
    switch(ac[j])
    case 40: // '('
    as you can see, the whitespace-eating for loop could loop until j == i, and then the switch(ac[j]) would cause a ArrayIndexOutOfBoundsException.
    The tnsnames.ora which led to the exception all had an entry of the form:
    ORCL.WORLD =
    (DESCRIPTION =
      (ADDRESS_LIST =
       (ADDRESS = (PROTOCOL = TCP)(HOST = 10.20.30.40)(PORT = 1521))
      (CONNECT_DATA =
       (SID = ORCL)
    It was sufficient to insert a blank before the "(DESCRIPTION =" token to prevent the parser from running into the bug. However, if we have to instruct all our customers how and where to insert blanks in their tnsnames.ora, it will get a bit annoying.
    I downloaded the latest 1.4 driver version (the used driver was about 3 years old, so I was hoping the bug was corrected in the meantime), but the bug was present there, too.
    So please, if any Oracle personnel read this thread, report this to your jdbc driver developers, and hopefully there will be a bug fix in the future.
    Best regards,
    Hans Vetter
    Edited by: user1649592 on Jun 23, 2010 1:11 AM
    Edited by: user1649592 on Jun 23, 2010 1:11 AM

    Hi,
    To supplement my last post, I only get the ArrayIndexOutOfBoundsException on a 64-bit Windows Server 2008 machine. When I run 32-bint Windows Server 2008, the exception does not occur and the database connection works fine. Has this problem been fixed for 64 bit machines ? Or is there something additional that needs to be configured for 64 bit machines ?
    Thanks,
    Tom Vicker

  • Error using setTimestamp and ojdbc14 against Oracle 7.3.4

    I am having a problem setting a timestamp value against Oracle 7.3.4 and Oracle 8.0.6 databases.
    Here's the code:
    public Tester
    (String passedUsername, String passedPassword, String passedHostName, String passedPort, String passedSID)
    throws SQLException {
    // Establish a database connection
    try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    } catch (ClassNotFoundException e) { throw new SQLException("Can't find class oracle.jdbc.driver.OracleDriver"); }
    StringBuffer myStringBuffer = new StringBuffer(50);
    myStringBuffer.append("jdbc:oracle:thin:@");
    myStringBuffer.append(passedHostName);
    myStringBuffer.append(":");
    myStringBuffer.append(passedPort);
    myStringBuffer.append(":");
    myStringBuffer.append(passedSID);
    Connection myConnection = DriverManager.getConnection(myStringBuffer.toString(), passedUsername, passedPassword);
    myConnection.setAutoCommit(false);
    // Insert the test record
    PreparedStatement myPreparedStatement = null;
    try {
    myPreparedStatement = myConnection.prepareStatement("insert into test_table(date_field) values (?)");
    myPreparedStatement.setTimestamp(1, new Timestamp(System.currentTimeMillis()));
    myPreparedStatement.execute();
    } finally {
    if (myPreparedStatement != null) myPreparedStatement.close();
    Here's the error that occurs under Oracle 7.3.4:
    java.sql.SQLException: ORA-01024: invalid datatype in OCI call
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
         at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
         at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
         at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093)
         at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2047)
         at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2709)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
         at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:656)
         at Tester.<init>(Tester.java:46)
         at Tester.main(Tester.java:62)
    Here's the error that occurs under Oracle 8.0.6:
    java.sql.SQLException: ORA-03115: unsupported network datatype or representation
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
         at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
         at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
         at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093)
         at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2047)
         at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2709)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
         at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:656)
         at Tester.<init>(Tester.java:46)
         at Tester.main(Tester.java:62)
    Note that the table in the insert statement does not have to exist. You can even replace the statement with a garbage statement.
    The error is produced regardless.
    The code is being compiled under JDK 1.4
    I am using the latest version of the JDBC drivers (i.e. ojdbc14.jar)
    The code works fine under Oracle 8.1.7 and 9.0.1
    My code needs to access all four of these database version, sometimes concurrently, so I can only use a single driver class (i.e. I can't swap out ojdbc14.jar for classes12.zip).
    Any feedback would be appreciated!

    Hi,
    Only to say that we have the same problem like you:
    - Error ORA-01024 when connection to Oracle 8.0.1 on Sun Solaris
    - Error ORA-03115 when connection to Oracle 8.1.5 on Windows
    We are thinking about upgrading Oracle. Is it the only solution?
    Thank you

  • Which ojdbc14.jar JDBC driver to use for Oracle 10g database

    When ODI is installed there seems to be an Oralce JDBC driver in place in the drivers folder (ojdbc14.jar).
    When we connect to an Oracle datastore and point to a table and use the 'reverse' function to populate the columns - it sort of works OK but does not bring back the datatypes properly. This is found to be when the Oracle table has UNICODE character datatypes NCHAR and NVARCHAR. If a table has CHAR and VARCHAR it is all OK but any table that has UNICODE datatyoe has a problem.
    Is this likely to be the JDBC driver ?
    We have tried replacing this ojdbc14.jar with the older classes12 and this, as expected, did not resolve the issue.
    We then tried replacing it with the latest 10.2.0.4 ojdbc14.jar but again no difference.
    Does anyone have any experience with Oracle JDBC drivers and what release level to use - and using against UNICODE datatypes in tables ?
    Regards

    Our problem is that when we use 'reverse' to populate the columns from a physicla table in an Oracle database - ODI is obviously 'seeing' the ORacle table and is correctly understanding the columns in the table and defining them in it's model - but wherever there is a column with a datatype in the ORacle database of NCHAR or NVARCHAR it fails to populate the datatype or the 'length' of these columns. If I manually try to specify the datatype these 2 unicode data types do NOT exist in the pull down list of datatypes.
    I see what you are asking - if these datatypes are actually defined as datatypes within the actual technology - I cant access my lab right now but will check as soon as I can. Thanks for the suggestion.

  • Can I connect to Oracle server7.1  through Java-JDBC using the latest thin drivers???

    Hey Gurus,
    Please help me .
    MY Current requirement is to connect to multiple oracle 7.1( and other variants) servers running on different operating systems, through Java/JDBC.
    My FIrst question is, can i connect to older versions of database using latest drivers?
    I could connect to the server running on SCO-oracle 7.1 using SQLNet8.1.7 under windows. But the same is not happening when the client is on Linux.But I need to connect from linux
    It says ORA-03113 - End of communication channel.
    What may be th problem.
    If any one could show some pointers where I can get more information about this problem would be helpfull
    THanks
    Lokesh

    I tried the classpath suggestion above (not the one modifying the .xml file) , but it didnt work for me , I am using WLI 10.3.1 and trying to connect DB on 8.1.7 V . I downloaded the classes12.jar and the ojdbc14.jar file from the oracle and placed in lib and the even included the classpath , but i again got the same exception .
    All this while i was selecting the option Oracle Driver Thin from the DataBase Driver when creating the connection pool from console . I tried with "BEA Oracle Driver (Type 4)" and it worked for me .. Although the option "BEA Oracle Driver (Type 4)" lists only the DBs from 9.0.1 to 11 G , but in my case using this driver i am able to connect to Oracle DB 8.1.7 . So all you guys if it classpath doesnt fix the issue try out by selecting Driver , "BEA Oracle Driver (Type 4)" .
    Manoj , this will fix the Connection pool part of the ques, but for the java part Try to load the Driver class "weblogic.jdbc.oracle.OracleDriver" before connecting to DB with Class.forName.
    Thx
    Yatin Mehta

  • Appropriate JDBC drivers for 7.0 version and SP16

    Hi all
    we are using XI 7.0 SP 16.
    what type/verion of JDBC drivers should be used for database connectivity?
    while i was going through "How to install external JDBC Drivers" it was suggesting to use
    Oracle 9i and Oracle 10g:
    ojdbc14.jar
    u2022 Microsoft SQL Server:
    msbase.jar, mssqlserver.jar, msutil.jar
    (in screen shots  as well it was showing he was using msbase.jar, mssqlserver.jar, msutil.jar and ojdbc14.jar)
    should we use both ojdbc14.jar and msbase.jar, mssqlserver.jar, msutil.jar or else one of them would be sufficient?
    Is OJDBC a type 4 and type 2 driver?
    Full Points are guaranteed
    Regards
    Bhasker

    Hi,
    You have to use ojdbc14.jar or classes12.zip/.jar for Oracle and msbase.jar, mssqlserver.jar, msutil.jar for Microsoft SQL Server. Thus both are required to be deployed on J2EE server.
    And Oracle JDBC is a type 4 driver.
    refer --> http://www.aquafold.com/docs-jdbcdrivers-oracle10g.html
    Refer
    SAP Note : 1078420, 831162, 941317, 1138877
    Thanks
    Swarup
    Edited by: Swarup Sawant on Aug 4, 2008 10:25 AM

  • Ojdbc14.jar API and Oracle Database Version

    Hi
    Im using ojdbc14.jar for accessing an oracle 10G database.
    Im trying to troubleshoot an exception -
    java.sql.SQLException: Parameter Type Conflict
    that seems to get thrown by the method -
    OraclePreparedStatament.processCompletedBindRow
    I have a couple of questions:
    1. Is the documentation/source available for ojdbc14.jar in order that I can try and find out what this method is supposed to be doing?
    2. Also, can anyone confirm if the jar Im using is the correct version of drivers for accessing a 10G database?
    3. When I go to the JDBC support center at Oracle(http://www.oracle.com/technology/docs/tech/java/sqlj_jdbc/index.html) any support documentation/APIs refer only to the Oracle db version and dont mention Java versions. Im using ojdbc14.jar which I guess is for use with Java version 1.4 onwards - how does this relate to the Oracle database versions?
    Thnaks very much in advance to anyone who can give me any suggestions on the above. This issue has stumped me for days now. Ive checked and double checked my code, and the Oracle Java types I have generated from the database, and they all seem to be fine.
    Jon

    unzip it, and look at the MANIFEST.MF file in META-INF
    If you do not know the version, you can just download appropriate one from oracle site.
    http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html

Maybe you are looking for

  • HT3702 How do I delete or remove a credit card?

    I have an old credit card on my account anyone know how to remove an old credit card from an apple app store account?

  • Any tips on sending output?

    I'm setting up a new duo stage act and the plan is to use Mainstage to run the show. No problems with Mainstage it is working great in rehearsal. We'll be connecting to sound systems supplied by the venues. Some we have experiece with while others wi

  • User gets locked by an external system but which one?

    Hi, In an abap system, we have changed the password of our administration user. Afterwards, this user gets locked every 5 minutes, obviously because the user and old password has been used to set up communication from another system to the abap syste

  • Why does xmark continue to freeze the browser on my macbook?

    Dear Volunteer, An "xmark" comment box, in extremely poor English continues to pop up when I open Firefox 4 on my Macbook, running osx 10.5.8. It freezes the browser and will not allow any other actions - indicating that I am to close Firefox and res

  • ITunes moves to next song when there's still 4 sec's left on current song

    When a song is only 25 seconds long, this quite annoying (i.e., a decent percentage of the song that is cut off). Likewise, when I listen to a 25 min song, it is kind of a let down to not get the very end. I have never noticed this before (i.e., don'