Oracle JDBC Driver Problem
Hi,
When I write code as
Resultset rs = .....
rs.last();
there is no problem for MySQL JDBC Driver, but when I use this code for Oracle, I am getting error with line 2. Why ? Do you know any Oracle JDBC Driver that supports "rs.last()" ? Or is there another way to handle it?
Thanks.
Most of the JDBC Drivers can handle "rs.last()".
The question here is, how do you create a Scrollable ResultSet using DatabaseMetaData, or if this is even possible.
A thorough read of the API docs, for the Classes and methods being used here will answer this question (now that you know what the actual question is).
Similar Messages
-
Oracle jdbc driver problems in netbeans 5.5
need help again....i'm experience a problem. the problems are :
i connect from netbeans 5.5 to oracle database express client 10g using jdbc driver ojdbc14.jar. the connection succeded (all the tables appears and i even can view the data). but when i trying to bind data to a drop down list component (with right click to the dropdown list component and then bind data), the dataprovider of that table appear in red color and there's no field appears in that. i'm so confused? i already add the ojdbc14.jar driver to the following path :
1. i create a new class library in netbeans with consist of that driver,
then added to my project (right click in my project then add library).
2. then i added the ojdbc14.jar driver to my tomcats lib at "C:\Program
Files\netbeans-5.5\enterprise3\apache-tomcat-5.5.17\common\lib".
Is there any additional settings in using oracle jdbc driver? Does anyone knows? thanks a lot for the answers...
Message was edited by:
darma_sadhaHi!
I'm using NetBeans 6.5 and I'm having some troubles to connect.
The steps I've made:
- Create the connection pool in Glassfish, nothing special, just standard parameters (Based on javax.sql.DataSource and including URL, Username and Password).
- Create the JDBC resource associated with that connection pool,let's say jdbc/test.
Now in NetBeans I register the driver:
- New driver -> Find the ojdbc14.jar and from the options that I can choose it shows: oracle.jdbc.OracleDriver and oracle.jdbc.driver.OracleDriver.
If i choose without +.driver+ I got the thin drivers (the ones i want) and if i chosse the one with the other one I got the OCI drivers. So I choose the first option oracle.jdbc.OracleDriver
- Then I go to my project and click New -> Entity Classes from Database and from Datasource I select jdbc/test and it shows the following error message:
Unable to find the driver oracle.jdbc.driver.OracleDriver. Please register this driver in the Databases.
I can fix it if while registering the ojdbc14.jar I select the second option (*oracle.jdbc.driver.OracleDriver*) but with this option I need to specity the connection to use OCI instead of the desired thin driver.
I hope you'll understand and help me somehow
Edited by: KILE on Oct 10, 2008 2:26 AM -
Oracle JDBC driver problem for Oracle 8.1.6
i am a newbee to Java, i was trying JDBC programming thru Jbuilder 4.0. now the problem is whenever i am trying the DriverManager.getconnection(), I am getting an error "NO SUITABLE DRIVER". i have downloaded jodbc14.jar(oracle 9i JDBC driver) but so result. what can i do now? any other config issues or is it due to absence of a Oracle JDBC driver of Oracle 8.1.6.
i have set the classpath as mentioned. but no solution.
the error is like this::
java.lang.NoClassDefFoundError: java/sql/Savepoint
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:521)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:325)
at java.sql.DriverManager.getConnection(DriverManager.java:517)
at java.sql.DriverManager.getConnection(DriverManager.java:177)
at DbaseTest.DbaseForm.OpenConnection(DbaseForm.java:37)
at DbaseTest.DbaseForm.jbInit(DbaseForm.java:73)
at DbaseTest.DbaseForm.<init>(DbaseForm.java:26)
at DbaseTest.Application1.<init>(Application1.java:11)
at DbaseTest.Application1.main(Application1.java:40)
i have imported
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import oracle.jdbc.*;
import java.lang.*;
the driver is registered by:
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); -
Oracle JDBC driver problem for Canada locale
Hi, there:
I have problem on Oracle JDBC thin driver with Canada locale on client side:
I'm using Oracle9i thin jdbc driver, the nls parameters in oracle database is:
NLS_LANGUAGE: AMERICAN
NLS_TERRITORY: AMERICA
NLS_NUMERIC_CHARACTERS : .,
My java client side is running on Windows NT, which using jdbc thin driver to connect oracle database. If I set the locale in client side as "English(Canada)", it seems return me "French" number format, like ",45" (comma, instead of decimal point) for "0.45". However, If I set client side locale as "English(United States)", it returns me "0.45" as expected.
So, my question: does Oracle JDBC driver always returns "French" number format evenif I set "English(Canada)" as locale? Because Canada have both English and French locale "French(Canada), and English(Canada)". How can I get "English" number format like "0.45" with "English(Canada)" locale setting?
Really appreciated any reply, and thanks a lot in advance
DavidSounds like a question for Oracle Support to me.
Anyway, the way to avoid the problem is to not ask Oracle to format numbers. Get the number directly (via ResultSet.getInt() or getDouble() or whatever) and ask Java to format it. -
Oracle 8.1.5 JDBC driver problem with LONGVARCHAR
Hi, I'm having problem with 8.1.5 release on Solaris with the
JDBC type 4 driver (thin). If I create the following table
create table test1 (col1 NUMBER, col2 LONG);
Using JDBC driver to insert into the second column any string
longer than 4000 characters causing run time exception. The type2
driver works fine, but type2 is slow.
String sql = "insert into test1 (col1, col2) values (1099,?)";
PreparedStatement stmt ;
stmt = conn.prepareStatement(sql);
// create a string with very long value , bigger than 4096
stmt.setString(1,string);
stmt.executeUpdate();
runtime exception:
java.sql.SQLException: Data size bigger than max size for this
type
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Exception.<init>(Compiled Code)
at java.sql.SQLException.<init>(Compiled Code)
at oracle.jdbc.dbaccess.DBError.check_error(Compiled
Code)
at oracle.jdbc.ttc7.TTCItem.setArrayData(Compiled Code)
at
oracle.jdbc.driver.OraclePreparedStatement.setItem(Compiled Code)
at
oracle.jdbc.driver.OraclePreparedStatement.setString(Compiled
Code)
at testi.main(Compiled Code)
Any help is appreciated.
Thanks
Steve
nullPost the full stacktrace here
Also you might want to post jdbc related questions to weblogic.developer.
interest.jdbc
Kumar
DreamNEON wrote:
Hello,
the NSAPI integration works, also the JSP files.
But I have still problems with the Jdriver for my Oracle 8.1.5.
I get the message :
Failed to invoke startup class
weblogic.jdbc.common.internal.JdbcStartup=weblogic.jdbc.common.internal.JdbcStartup
when the WebLogic Server is started.
Any ideas or hints about that?
Thanks in advance
Armin -
Problem with Oracle jdbc driver and jdk1.4
Hi
I have some java code which uses Oracle jdbc driver.
This code works with java 1.1.8, 1.2 & 1.3 but not with java 1.4 !
I have that exception :
java.sql.SQLException: The Network Adapter could not establish the connection
at oracle/jdbc/dbaccess/DBError.check_error(DBError.java)
at oracle/jdbc/driver/OracleConnection.<init>(OracleConnection.java)
at oracle/jdbc/driver/OracleDriver.getConnectionInstance(OracleDriver.java)
at oracle/jdbc/driver/OracleDriver.connect(OracleDriver.java)
at java/sql/DriverManager.getConnection(DriverManager.java:529)
at java/sql/DriverManager.getConnection(DriverManager.java:179)
at SimpleQuery.<init>(SimpleQuery.java:21)
at SimpleQuery.main(SimpleQuery.java:56)
when I try a getConnection...
I've tried all the jdbc drivers provided by Oracle, but it's still the same problem !
Any Idea ?
ThanksHave you tried the drivers shipped with Oracle9i Db R2? they should work against JDK 1.4
Kuassi
Hi
I have some java code which uses Oracle jdbc driver.
This code works with java 1.1.8, 1.2 & 1.3 but not with java 1.4 !
I have that exception :
java.sql.SQLException: The Network Adapter could not establish the connection
at oracle/jdbc/dbaccess/DBError.check_error(DBError.java)
at oracle/jdbc/driver/OracleConnection.<init>(OracleConnection.java)
at oracle/jdbc/driver/OracleDriver.getConnectionInstance(OracleDriver.java)
at oracle/jdbc/driver/OracleDriver.connect(OracleDriver.java)
at java/sql/DriverManager.getConnection(DriverManager.java:529)
at java/sql/DriverManager.getConnection(DriverManager.java:179)
at SimpleQuery.<init>(SimpleQuery.java:21)
at SimpleQuery.main(SimpleQuery.java:56)
when I try a getConnection...
I've tried all the jdbc drivers provided by Oracle, but it's still the same problem !
Any Idea ?
Thanks -
Problems with Oracle jdbc Driver
Hi... I'm trying to connect to my Oracle Database and I get the folowing error:
"package oracle.jdbc.driver does not exist"
I have installed Oracle 9.1.0.2 Database...
The value of the Classpath variable is:
".;c:\oracle\ora92\jdbc\lib"
What could be the problem???...
Thanks in advance.-
Alberto.-Are you building your application from the command line? Or using a GUI? GUI's will frequently overwrite your CLASSPATH environment variable...
Justin
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC -
Oracle 8.1.5 - jdbc driver problem
I am using Oracle8.1.5 (personal oracle) for database. I am trying to retrieve the data from JAVA(JDK 1.3). I use the following driver and its manager in the Java program:-
DriverManager.registerDriver(new Oracle.jdbc.driver.OracleDriver());
Class.forName("Oracle.jdbc.driver.OracleDriver");
However Java is not getting compiled with the following error message:-
Cannot resolve symbol:
package: driver
class: DriverManager
I would request your goodselves to help me out. Thank you in anticipation.
Regards,
SivaswamyThanks for the reply.
Have you tried manually taking the current time and
converting it to the way Oracle is expecting it? If I embed a TO_DATE and format it, it works fine, but I want to stay database independent. Is that want you mean?
Or how about using new java.util.Date() to get the
current date?Not sure I follow you:
--- insertStmt.setTimestamp(5, new java.sql.Date(System.currentTimeMillis()));
Gives an error since setTimestamp expects a java.sql.Timestamp and
--- insertStmt.setDate(5, new java.sql.Date(System.currentTimeMillis()));
Only stores the date without the time.
Thanks again,
Todd -
Problems when using absolute() on Oracle JDBC driver
Hi all,
I wrote some codes using JDBC to access a remote Oracle server. After got the resultset, I attempted to use absolute() method to move to a specific row index and got an error. Could anyone please help me to find out the cause and the solution?
Thanks in advanced,
** We have used driver package jdbc/lib/classes.zip in ORACLE 8.1.7
** The total of records in HEFKE000 table > 1000;
** The coding is following:
String url = null;
Connection conn = null;
ResultSet rs = null;
Statement stmt = null;
String query = "select * from HEFKE000";
String dbName = "HE_MI";
String hostName = "NTTD";
String userName = "HOKEN";
String passWord = "manager";
String dbDriver = "oracle.jdbc.driver.OracleDriver";
//Load the Driver
Class.forName(dbDriver);
//get connection
url = "jdbc:oracle:oci8:@NTTD";
//url = "jdbc:oracle:thin:@" + hostName + ":1521:" + dbName;
conn = DriverManager.getConnection (url, userName, passWord);
// It's faster when you don't commit automatically
conn.setAutoCommit (false);
// Create a Statement object so we can submit
// SQL statements to the driver
stmt = conn.createStatement();
// Submit a query, creating a ResultSet object
rs = stmt.executeQuery(query);
// Get the ResultSetMetaData. This will be used for the column headings
ResultSetMetaData rsmd = rs.getMetaData ();
// Get the number of columns in the result set
int numCols = rsmd.getColumnCount ();
int i;
if (rs.next() == rs.isFirst()) {
rs.absolute(100);
boolean more = rs.next ();
while (more) {
// Loop through each column, getting the
// column data and displaying
for (i=1; i<=numCols; i++) {
if (i > 1) {
System.out.print("|");
if (rs.getString(i) == null)
System.out.print("");
else
System.out.print(rs.getString(i));
output.println();
// Fetch the next result set row
more = rs.next ();
** The error:
Exception in thread "main" java.sql.SQLException: Invalid operation for forward
only resultset : absoluteThanks. However, after changed the codes as your suggestion and ran again, I got the following error:
Exception:
java.lang.OutOfMemoryError
<<no stack trace available>>
A note is that, the 'select * from HEFKE000' statement would get around 1,5 millions of records. So, the 'out of memory' above is for client side or for server side?
Thanks, -
Import oracle.jdbc.driver.* problem.
I've got classes111b.zip from this site, and put it into my $ORACLE_HOME/jdbc/lib; add this: "$ORACLE_HOME/jdbc/lib/classes111b.zip" to my CLASSPATH; use env command, I can see it, but when I visit my jsp page, there occured an error:
Error: 500
Location: /tmp/connectdb.jsp
Internal Servlet Error:
org.apache.jasper.JasperException: Unable to compile class for JSP/jakarta-tomcat/work/localhost_8080/_0002ftmp_0002fconnectdb_0002ejspconnectdb_jsp_7.java:20: Package oracle.jdbc.driver not found in import.
import oracle.jdbc.driver.*;
And jdbc readme file says:
The Oracle installer installs the JDBC Drivers in the
[ORACLE_HOME]/jdbc directory.
Where is the Oracle installer? How could I do?
Thanks in advance.Hello
here is the modified code
import java.sql.*;
import oracle.jdbc.driver.*;
public class Oracle_Test
public static void main(String args[])
String sql = "";
String strdisp = "";
Connection con = null;
//Statement cs = null;
CallableStatement cs = null;
ResultSet rs = null;
try
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("Hello 1");
//con = DriverManager.getConnection("jdbc:oracle:thin:@192.1.1.70:1521:epatra","kamna_local","kamna");
con = DriverManager.getConnection("jdbc:oracle:thin:@10.8.51.182:1521:DEVPG","RINGERS","RINGERS");
System.out.println("Hello 2");
try
CallableStatement proc = con.prepareCall("{ call PHONEGEN.HOME_MDN_SEARCH_RINGER(?, ?, ?, ?, ?, ?) }");
proc.setString(1, "2231015897");
proc.setString(2, "1071706417");
proc.registerOutParameter(3, OracleTypes.VARCHAR);
proc.registerOutParameter(4, OracleTypes.VARCHAR);
proc.registerOutParameter(5, OracleTypes.VARCHAR);
proc.registerOutParameter(6, OracleTypes.VARCHAR);
System.out.println("Hello 3");
boolean x = cs.execute();
String homemin = proc.getString(3);
String homemdn = proc.getString(4);
String phoneType = proc.getString(5);
String outStatus= proc.getString(6);
System.out.println("Hello 3");
proc = null;
con.close();
con = null;
catch(NullPointerException sqle)
sqle.printStackTrace();
catch(Exception ex)
ex.printStackTrace();
System.out.println("error in finding class "+ex);
The Exception comes at this
CallableStatement proc = con.prepareCall("{ call PHONEGEN.HOME_MDN_SEARCH_RINGER(?, ?, ?, ?, ?, ?) }");
And here is the output when the rpogram runs....
Hello 1
Hello 2
Hello 3
java.lang.NullPointerException
at Oracle_Test.main(Oracle_Test.java:31)
Thanks for your help.....
Looking for a solution soon
Regards
Abhinav -
Couldnot connect JBuilder 6 to ORACLE 8i , JDBC driver problem
Hi guys
I am trying to connect to the oracle 8i database from jbuilder 6 using a simple select statement , but it gives the following error
Root cause:
java.lang.NoClassDefFoundError: oracle/jdbc/driver/OracleDriver
at _0002ftestEmployee_0002ejsptestEmployee_jsp_1._jspService(_0002ftestEmployee_0002ejsptestEmployee_jsp_1.java:83)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspCountedServlet.service(JspServlet.java:130)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:282)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:429)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:500)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
at org.apache.tomcat.core.Handler.service(Handler.java:287)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Thread.java:484)
plse help me how to connect jbuilder to oracle to access the data. I followed jbuilder doc like from the menu (Tools �� enterprise setup �� database driver ��)
but could not select the driver since it is marked as red (uninstalled). How can I made jdbc driver to available to jbuilder.?. I am using oracle 8i. Will oracle 8i supports jdk 1.3 b��cos I have noticed the jbuilder supports from jdk 1.3 onwards. So plse correct me if I am wrong
waiting for reply
sumeshthanks for u'r reply.
you mean to say i need to install the new JDBC driver (Classes12.zip and nls_charset12) to the oracle/ora8i/jdbc/lib folder.currently this folder contains only classes102 and classes11.zip files and the corresponding charset only.After instaling the new classes12.zip file do i need to set the classpath?. -
Oracle.jdbc.driver.OracleDriver() problem
Hi guys. I am taking a dbsystems class at school. We are required to connect to the schools oracle db using this package: oracle.jdbc.driver
the code provided by the profesor is meant to be used by logging into unix accounts on the schools servers and running our java programs remotely. I've been trying to connect by running the java program localy.
i'm using netbeans 4, with java5. netbeans tells me that this oracle.jdbc.driver package doesn't exist.
here is the connection part of the code:
//create the oracle driver
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
//create a connection object
Connection conn = DriverManager.getConnection("jdbc:oracle:oci:@<blahblahblah>", "<myusername>", "<mysuperduperprivatepassword>");
I have followed many forums and threads on the web. Most of them seem to be fixed just by renaming the classes12.zip file to .jar, placing them in the jre/lib folder and setting the path, but they all seem to be running the java program on the same computer as the database, where as i'm trying to connect remotely. i still tried following the instructions, and this still hasn't worked for me. so, my question is, will this even work since i am trying to connect remotely? and if not, how can i connect remotely to a database using only java? thanks
gyrowhen you say build path, do u mean the same folder as my .java source? because it is. I don't know if u need to know this, but it will compile, but not run, and then it will print the above mentioned error. but in netbeans, it just tells you ahead of time why it wont run if u try to run it.
anyways, from what i understand from what u wrote, i will need to use the thin driver...now that comes with the oracle.jdbc.driver package, but i just need to use a different call, right? like, instead of oracle.jdbc i would need oracle.thin, is this what u mean? and if it doesn't contain the thin driver, where can i find it? i found it onces before, but that was completely by accident. can someone supply a url? thanks
jay -
Problem using Oracle JDBC Driver
Hi,
I try to configure the Oracle JDBC Driver the following way:
I load the Oracle drivers ojdbc14_g.jar and nls_charset12.jar
I configure the DataSource using the Driver Class oracle.jdbc.driver.OracleDriver, the database URL: jdbc:oracle:thin:@h50a430:1521:WLP1E1A0 and the User with Password.
As soon as its activated I get the following error:
java.rmi.RemoteException: Error occurred while starting application in whole cluster and wait.; nested exception is:
com.sap.engine.services.deploy.exceptions.ServerDeploymentException: Complex error : server ID 4123350:Cannot start DataSource "Oracle".
at com.sap.engine.services.deploy.server.DeployCommunicatorImpl.startApplicationAndWait(DeployCommunicatorImpl.java:678)
at com.sap.engine.services.deploy.server.DeployCommunicatorImpl.startApplicationAndWait(DeployCommunicatorImpl.java:660)
at com.sap.engine.services.dbpool.deploy.DataSourceManagerImpl.startApplication(DataSourceManagerImpl.java:535)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
any hint?I can't create an Oracle datasource too.
Uploaded ojdbc14.jar, used the same Oracle jdbc settings as in my jdbc explorer where everything works fine, set initial connections to 1, set SQL Engine to Native SQL,...
-> won't start.
I restarted the cluster too. The Datasource is still marked with a red cross in the admin tool.
This is with the type 1.x setting, as XA seems to be still broken in WAS 6.40. -
Oracle JDBC Driver 10.1.0.4.0 and IndexOutOfBounds-Exception
Hello all,
we´ve experienced a weird problem using the Oracle JDBC driver version 10.1.0.4.0. While executing SELECT statement we get an ArrayIndexOutOfBounds exception from the JDBC driver. Here´s the stacktrace:
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at oracle.jdbc.driver.T4CDateAccessor.saveDataFromOldDefineBuffers(T4CDateAccessor.java:212)
at oracle.jdbc.driver.T4CPreparedStatement.saveDefineBuffersIfRequired(T4CPreparedStatement.java:405)
at oracle.jdbc.driver.OracleStatement.prepareAccessors(OracleStatement.java:859)
at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:949)
at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:532)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1037)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2905)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:2946)
at weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:124)
We couldn´t find anything on the web on this error. We´re using Weblogic 8.1 SP4 with JDBC version. Does anyone have a hint or an idea what could be the problem here?
Thanks for any help in advance!
Cheers,
JoergI may have a related bug, I get a similiar exception when running JIRA...
java.lang.ArrayIndexOutOfBoundsException: -1
at oracle.jdbc.driver.DateTimeCommonAccessor.computeJulianDay(DateTimeCommonAccessor.java:341)
at oracle.jdbc.driver.DateTimeCommonAccessor.getMillis(DateTimeCommonAccessor.java:386)
at oracle.jdbc.driver.DateAccessor.getTimestamp(DateAccessor.java:142)
at oracle.jdbc.driver.OracleResultSetImpl.getTimestamp(OracleResultSetImpl.java:1018)...I tried the 10.1.0.2 and 10.1.0.4 drivers, both throw the same exception. I would try the 10.2 drivers, but they just hang! Gotta love Oracle QA! -
Bug in Oracle JDBC Driver: NullPointerException when calling clearParameters
There is a bug in the latest version of the JDBC driver that throws a NPE when calling PreparedStatement.clearParameters(). I don't need a response to this, since I have a workaround (just catching and ignoring the exception), but it should probably be fixed. I speculate that the problem only occurs when you try to call clearParameters() more than once on the same PS, but I haven't confirmed it.
It is probably an easy fix. Following is the stack trace:
java.lang.NullPointerException
at oracle.jdbc.dbaccess.DBData.clearItem(DBData.java:431)
at oracle.jdbc.dbaccess.DBDataSetImpl.clearItem(DBDataSetImpl.java:3528)
at oracle.jdbc.driver.OraclePreparedStatement.clearParameters(OraclePreparedStatement.java:3401)
at com.solarmetric.datasource.PreparedStatementCache$CachePreparedStatement.close(PreparedStatementCache.java:293)
at com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatementBatch(SQLExecutionManagerImpl.java:666)
at com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatement(SQLExecutionManagerImpl.java:514)
at com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeInternal(SQLExecutionManagerImpl.java:406)
at com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.flush(SQLExecutionManagerImpl.java:273)
at com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManager.java:421)
at com.solarmetric.kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:549)
at com.solarmetric.kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:412)
at com.sun.jdotck.api.persistencemanager.MakePersistentAssignsObjectId.testMakePersistentAssignsObjectId2(Unknown Source)
at com.sun.jdotck.api.persistencemanager.MakePersistentAssignsObjectId.testMakePersistentAssignsObjectId(Unknown Source)
at com.sun.jdotck.api.persistencemanager.MakePersistentAssignsObjectId.runTest(Unknown Source)
at com.sun.jdotck.api.persistencemanager.PersistenceManagerTest.run(Unknown Source)
at com.solarmetric.kodo.compatibility.JDOCompatabilityTestSuite$1.runTest(JDOCompatabilityTestSuite.java:493)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:325)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:524)
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.comTake a look at the method that is causing the NullPointerException:
public void clearItem(int i)
if (!m_dynamic && m_vector == null && i < m_vector.size())
m_vector.removeElementAt(i);
if (m_items != null && i >= m_items.length)
return;
m_items[i] = null;
return;
A NullPointerException will be thrown whenever clearParameters() is called when no parameters have yet been bound.
The first IF statement should read:
if (!m_dynamic && m_vector != null && i < m_vector.size())
A simple workaround would be to make sure that your parameter list is never empty before calling clearParameters(). Is there a patch for this anywhere?
Maybe you are looking for
-
What is the diffrence between an OEM screen and a Non-Oem screen?
i wanted to buy a new screen for my ipod because my brother cracked it. so i was wondering wat was the difrence between an OEM and a non-OEM screen? like is there a diffrence on the pixels?
-
Hey! We have as SSL Porta running on a Cisco ASA 5505l that some of our external customers are using, and some of them are using IE 8/9 The thing is, the first time a new customer login on the portal and clicks one a RDP object they have to install t
-
Hi guys, I want to edit a string by using a function like UpperCase or LowerCase. Is there any function in ABAP which has the same functionality? next problem is: Can i use this function in an SQL query? Like: Select SINGLE IDSEGMENT
-
Facing error while invoice creation in AR.
Facing error while invoice creation in AR as Please complete your tax accounting flexfield. We are creating invoice through API. Regards Sridhar
-
When I try to delete a message I get the following error: "The current operation on 'Inbox' did not succeed. The mail server for *my e-mail address* responded: [IUD COPYIUD 1284055888 87378 33333] Unexpected short mix message file /var/mdir/103/*my u