How to resolve the recurring SQLException “[Tibco][Oracle JDBC Driver] Invalid operation for the current cursor position”?
book
Article ID: KB0092032
calendar_today
Updated On:
Products
Versions
TIBCO XML Canon
-
Not Applicable
-
Description
Resolution: Problem Description: Despite no change in our XML Canon environment or the Oracle database it uses, the error below began to appear in the localhost log every 20 seconds causing the log file to grow rapidly. How can we resolve it? yyyy-mm-dd hh:mm:ss StandardContext[]performGenericQuery:GetNotificationTimes.sql:java.sql.SQLException: [Tibco][Oracle JDBC Driver]Invalid operation for the current cursor position. yyyy-mm-dd hh:mm:ss StandardContext[]Exception in NotificationManagerTask: GetNotificationTimes.sql java.sql.SQLException: [Tibco][Oracle JDBC Driver]Invalid operation for the current cursor position. at com.tibco.xmlcanon.jdbc.base.BaseExceptions.createException(Unknown Source) at com.tibco.xmlcanon.jdbc.base.BaseExceptions.getException(Unknown Source) at com.tibco.xmlcanon.jdbc.base.BaseResultSet.validateCursorPosition(Unknown Source) at com.tibco.xmlcanon.jdbc.base.BaseResultSet.getTimestamp(Unknown Source) at org.apache.commons.dbcp.DelegatingResultSet.getTimestamp(DelegatingResultSet.java:211) at com.extensibility.ess.datastore.b.a$a.a(Unknown Source) at com.extensibility.ess.datastore.v.b.a(Unknown Source) at com.extensibility.ess.datastore.v.b.a(Unknown Source) at com.extensibility.ess.datastore.v.b.a(Unknown Source) at com.extensibility.ess.datastore.b.a.for(Unknown Source) at com.extensibility.ess.datastore.b.a.do(Unknown Source) at com.extensibility.ess.notification.b$a.run(Unknown Source) at java.util.TimerThread.mainLoop(Timer.java:432) at java.util.TimerThread.run(Timer.java:382)
Cause: The error stems from the DataDirect driver (TIBCO's Oracle JDBC driver which we ship with the application package).
Solution: To resolve the issue, use Oracle's native JDBC driver. Following these instructions to replace the current driver: 1. Copy the Oracle JDBC jar (ojdbc14.jar) to \tibco_home\xmlcanon\3.1\tomcat\common\lib (use / if your XML Canon is on Unix/Linux OS) 2. Edit your \tibco_home\xmlcanon\3.1\tomcat\conf\server.xml file so that after the edits the parameters for the driver class and the JDBC URL should resemble the following: <parameter> <name>driverClassName</name> <value>oracle.jdbc.driver.OracleDriver</value> </parameter> <parameter> <name>url</name> <value>jdbc:oracle:thin:@OracleServer:OraclePort:SIDName</value> </parameter> 3. Restart the XML Canon server. 4. Test and review the localhost log to insure resolution. Note that the Oracle driver version must match the version of your Oracle database; you can obtain a copy of the driver from your Oracle installation home or download it from http://www.oracle.com.
Issue/Introduction
How to resolve the recurring SQLException “[Tibco][Oracle JDBC Driver] Invalid operation for the current cursor position”?