Skip to Main Content

Java Development Tools

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver

864822Jun 15 2012 — edited Jun 26 2012
I have been able to create a connection to the database when I run as Java application, but when I try using the same connection information to run on the server, I get this exception. /any help with creating the conection for the server would be appreciated. Thanks.
I am using Spring with the SpringSource sts2.8.1 - an MVC template
jdk1.7.0-04,
Oracle Database 11G Express Edition,
Apache Tomcat 6.0.35

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


root cause
java.lang.NullPointerException
vicki.oracle.database.OracleDBHelper.listTitles(OracleDBHelper.java:52)
vicki.oracle.movietime.HomeController.home(HomeController.java:39)
java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at vicki.oracle.database.OracleDBHelper.<init>(OracleDBHelper.java:30)
at vicki.oracle.movietime.HomeController.home(HomeController.java:36)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

Here is the code that fails:
Connection conn = null;
private static final Logger Logger = LoggerFactory.getLogger(OracleDBHelper.class);

public OracleDBHelper() {
try{
Class.forName("oracle.jdbc.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@//localhost:1521/XE", "movietime", "troyb");
}
catch (Exception e) {
e.printStackTrace();
}
}

public ArrayList<OracleTitle> listTitles() {

Statement st;
ArrayList<OracleTitle> result = new ArrayList<OracleTitle>();

try {
st = conn.createStatement();

ResultSet res = st.executeQuery("SELECT * FROM OracleTitle");
while (res.next()) {
OracleTitle t = new OracleTitle();
t.setId(res.getLong("id"));
t.setName(res.getString("name"));
t.setGenre(res.getString("genre"));
t.setPrice(res.getLong("price"));
t.setOnHand(res.getLong("onhand"));
result.add(t);
}

} catch (SQLException e) {
e.printStackTrace();
}
return result;

Here is the code that works:
Class.forName("oracle.jdbc.OracleDriver");
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@//localhost:1521/XE", "movietime",
"troyb");

if (conn != null) {
System.out.println("We have connected to our database!");
Statement stmt = conn.createStatement();

ResultSet res = stmt.executeQuery("SELECT * FROM title");
while (res.next()) {
OracleTitle t = new OracleTitle();
Long tID = (res.getLong("title_id"));
String tName = (res.getNString("name"));
String tGenre = (res.getString("genre"));
Long tPrice = (res.getLong("price"));
Long tOnHand = (res.getLong("onhand"));
System.out.println(tID + " " + tName + " " + tPrice + " "
+ tOnHand);
}
}
conn.close();
}

catch (SQLException ex) {
System.out.println("SQLException: " + ex.getMessage());

} catch (Exception ex) {
System.out.println("Exception: " + ex.getMessage());
ex.printStackTrace();
}
}
}
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jul 24 2012
Added on Jun 15 2012
3 comments
35,232 views