Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium


Java compile error creating new JDBC OracleDriver

Posted on 2001-07-26
Medium Priority
Last Modified: 2013-11-23
I need to query an Oracle database table via a java bean.  In the middle of the page 4 of ?Readme? for JDBC it says "Your JDBC program must register the Oracle driver. . . make sure that the following statement is executed. . .DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver ());"

I put that line in the bean script and when I tried to compile it I got:

nameBean.java:25: cannot resolve symbol
symbol  : class OracleDriver
Location: package driver
DriverManager.registerDriver (new oracle.jdbc.driver .[a carrot points to this dot]OracleDriver())

My classpath leads to ?classes12.zip?, and within that package are two files called ?OracleDriver.class?.  I also tried setting classpath to ?classes111.zip? that has only one ?OracleDriver.class?.

I tried compiling a demo script that came with the JDBC (ResultSet1.java) and got the same error.

(I am new to this forum, as well as to Java so please forgive me if this is something simple I should be able to figure out for myself.)

Question by:DwayneMartin

Expert Comment

ID: 6325018
Looks like a classpath issue. Are you running this code from an Application server or from command line?

You can also try:
this basically registers too, but you are going to get a runtime ClassNotFoundException if the classes12.zip is not in the classpath.

Expert Comment

ID: 6325506
try compiling  by giving the classpath at the prompt itself

java -classpath c:\oracle\ora81\lib\classes12.zip MyBean.java

(i assumed that the classe12.zip is there in c:\oracle\ora81\lib folder)

Author Comment

ID: 6327272
I am trying to compile the code from the command line on a Win2000 server, IIS  web server. Classpaths are defined in "http://localhost/servlet/admin?setVMSettings".  I've tried the following:

1. Leaving the class object in the zip folder.
My classpath says "C:\Oracle\Ora81\jdbc\lib\classes111.zip".  If I copy that line and paste it into Windows Explorer it opens classes111.zip and OracleDriver.class is there, so I am pretty sure there aren't any typo's.

2. Putting the class object in a folder.
I also have  "C:\Oracle\Ora81\jdbc\lib" in my classpath, so I extracted OracleDriver.class into  "C:\Oracle\Ora81\jdbc\lib".

3. Putting the class object in a package.
Since the error message says "location: package driver" I created a "driver" folder within  "C:\Oracle\Ora81\jdbc\lib" and moved OracleDriver.class there.

But I always get the same compile error.
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.


Expert Comment

ID: 6327701
How are you setting the classpath?

Expert Comment

by:Igor Bazarny
ID: 6327906

> Classpaths are defined in "http://localhost/servlet/admin?setVMSettings"
I believe it's IIS-specific settings which don't affect classpath used by compiler. Try to set CLASSPATH environment variable or pass -classpath parameter in javac commandline. BTW, do you try to compile using commandline tools or you are using some IDE? For IDE you need to configure classpath within IDE settings.

Igor Bazarny

Author Comment

ID: 6329931
Thank you all for helping a beginner learn the system.

I've taken all three of your advices, but keep getting the same error.

1. I tried to compile by typing "javac -classpath c:\oracle\ora81\lib\classes111.zip nameBean.java."  (I presume you meant "javac" not "java".)

2. I added the line "Class.forName("oracle.jdbc.driver.OracleDriver");" just above "DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());"  (Is this what you meant?)

3. I defined a system variable "classpath" as  C:\Oracle\Ora81\lib\classes111.zip. (I especially appreciated this info because after I submitted my question it occurred to me that the pc system may not be able to use the web server classpath.)

Please let me know if I've misunderstood any of your suggestions, and I very much appreciate your helpfulness.  (I'll be gone till Friday, Aug 2, so if I don't reply right away to any future comments please don't think I've lost interest.)

Accepted Solution

shyamkumarreddy earned 200 total points
ID: 6337200
Hey Martin

For Compiling in Command Prompt.
Please add your classpath of oracle classes in your system. using mycomputer environment variables.
And the classpath and reboot the sytem
You can now compile the File.

javac Resultset.java -cp c:\pathoforacleclass\classes12.zip

I need the following answers from you.
What Web Server are you using?

Author Comment

ID: 6348839
It compiled!  Thank you all for your help.  To summarize what I've learned:

1. The command line compiler can't use the web server classpath.  You have to define a web server classpath AND an environment variable.

2. You have to reboot for the environment variable to take effect. (I knew that I just forgot.  Sorry!)

Expert Comment

ID: 9061945
This old question needs to be finalized -- accept an answer, split points, or get a refund.  For information on your options, please click here-> http:/help/closing.jsp#1 
Post your closing recommendations!  No comment means you don't care.
LVL 14

Expert Comment

ID: 9208323
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:

[points to shyamkumarreddy]

Please leave any comments here within the next seven days.
EE Cleanup Volunteer
If you feel that your question was not properly addressed, or that none of the comments received were appropriate answers, please post your concern in THIS thread.

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…
This video teaches viewers about errors in exception handling.
Suggested Courses
Course of the Month10 days, 21 hours left to enroll

572 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question