Como resolver " java.idioma.ClassNotFoundException: oracle.jdbc.controlador."OracleDriver" em tempo de execução?

Há um problema no tempo de execução com este código que é

Java.idioma.classNotFoundException: oracle: jdbc: driver: Oraclepriver"`

mas outro programa do mesmo driver JDBC é executado corretamente, mas este driver JDBC é encontrado uma exceção na applet java. Por favor, ajudem-me com este problema. Sou novo em Java.

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.sql.*;
import java.io.*;

/*<applet code="EmpDetails" width=300 height=500></applet>*/

public class EmpDetails extends Applet implements ActionListener{
TextField firstName, lastName, userId, pass, email, phone;
Button submit,cancel;
String msg = "";

public void init(){

    setLayout(new GridLayout(10,2,0,30));


    Label fname = new Label("First Name : ");
    Label lname = new Label("\nLast Name : ");
    Label uid = new Label("User Id : ");
    Label pas = new Label("Password : ");
    Label emailid = new Label("Email Id : ");
    Label ph = new Label("Phone : ");

    firstName = new TextField(10);
    lastName = new TextField(10);
    userId = new TextField(16);
    pass = new TextField(16);
    email = new TextField(30);
    phone = new TextField(12);
    pass.setEchoChar('*');

    submit = new Button("Submit");
    cancel = new Button("Cancel");

    add(fname);
    add(firstName);

    add(lname);
    add(lastName);
    add(uid);
    add(userId);
    add(pas);
    add(pass);
    add(emailid);
    add(email);
    add(ph);
    add(phone);
    add(submit);
    add(cancel);

    firstName.addActionListener(this);
    lastName.addActionListener(this);
    userId.addActionListener(this);
    pass.addActionListener(this);
    email.addActionListener(this);
    phone.addActionListener(this);
    submit.addActionListener(this);
    cancel.addActionListener(this);
    }
    public void actionPerformed(ActionEvent ae)
    {
        String str = ae.getActionCommand();
        if(str.equals("Submit"))
        {
                try{
                    Class.forName("oracle.jdbc.driver.OracleDriver");
                    String url = "jdbc:oracle:thin:@localhost:1521:XE";
                    String id = "system";
                    String passw = "root";

                    Connection con = DriverManager.getConnection(url , id , passw);

                    Statement st = con.createStatement();

                    String u,fn,ln,ps,em,pn;
                    u = userId.getText();
                    fn = firstName.getText();
                    ln = lastName.getText();
                    ps = pass.getText();
                    em = email.getText();
                    pn = phone.getText();
                    String urld = "INSERT INTO EMPDETAILS(id,firstname,lastname,email,password,phone)" + "values" + "('" + u + "','" + fn + "','" + ln + "','" + em + "','" + ps + "','" + pn + "')";
                    st.executeUpdate(urld);
                    con.close();
                    st.close();
                    msg = "Recode added successfull ";
                }

                catch(Exception e){ msg = e.toString();}
        }

        else{
            msg = "No any data added";

        }
        repaint();
    }
    public void paint(Graphics g){
        g.drawString(msg,6,300);


    }
}
Author: rzo, 2016-07-31

2 answers

A razão pela qual você encontra esta exceção é que você usa o pacote errado para se referir à OracleDriver classe

Portanto, deve alterar a chamada de carga da classe incorrecta

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

Em

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

À medida que este ficheiro de classe implementa a interface java.sql.Driver que é realmente verificada durante a execução.

Para referência, Ver também a descrição no JavaDoc oficial fornecido pela Oracle:

A classe de condução da Oracle JDBC que implementa hipoteca.banco.Interface do condutor.
 3
Author: MWiesner, 2016-08-02 12:20:16

Solução:

Primeiro descarregue ojdbc6.jar e ojdbc6_g.jar do google.

2) Se estiver a ligar-se à Oracle 11g a partir de Java e a correr na versão Java 6, então inclua ojdbc6.frasco ou ojdbc6_g.jar na sua aplicação está o classpath.

3) assim que terminar o download, cole os ficheiros em C:\Program ficheiros\Java\jdk1.6.0_ 23\jre\lib\ext pasta.

Saúde. Gopinath Padala
 1
Author: Gopinath Padala, 2017-05-02 10:22:44