0

I'm trying to connect to an Oracle database but I keep getting this error:

Exception in thread "main" java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:383)
        at java.base/java.lang.Class.forName(Class.java:376)

I have downloaded the ojdbc8.jar file and added this line of code:

Class.forName("oracle.jdbc.OracleDriver"); 

but it is still not working.

This is my code:

Class.forName("oracle.jdbc.OracleDriver"); 
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","system","moe");
Statement stat = conn.createStatement();

some images that might help

I'm trying to connect to a database.

I'm using:

  • Java JDK 18.0.1.1
  • ojdbc8.jar
  • Visual Studio IDE
  • Oracle Database
andrewJames
  • 19,570
  • 8
  • 19
  • 51
  • Delete that `Class.forName("oracle.jdbc.OracleDriver");` line. You don't need it - the driver loads itself. (And, anyway, that is the wrong class name.) See what error (if any) you get after making that change. – andrewJames Oct 29 '22 at 00:49
  • Related: [JDBC Class.forName vs DriverManager.registerDriver](https://stackoverflow.com/q/5484227/12567365) and [Class.forName still seems necessary](https://stackoverflow.com/q/37876684/12567365) – andrewJames Oct 29 '22 at 00:56
  • 1
    What's the right class name? https://stackoverflow.com/questions/6202653/difference-between-oracle-jdbc-driver-classes – tgdavies Oct 29 '22 at 01:01
  • Please [edit] to convert your images of text into actual text. [See here](https://meta.stackoverflow.com/a/285557/20170164) for why. – rainbow.gekota Oct 29 '22 at 22:04

0 Answers0