2016-07-31 60 views
0

Es gibt ein Problem zur Laufzeit mit diesem Code, derWie löst man "java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver" zur Laufzeit?

java.lang.ClassNotFoundException ist: oracle: jdbc: Fahrer: OracleDriver`.

aber ein anderes Programm des gleichen JDBC-Treibers wird ordnungsgemäß ausgeführt, aber dieser JDBC-Treiber ist eine Ausnahme im Java-Applet gefunden. Also bitte hilf mir für dieses Problem. Ich bin neu in 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); 


    } 
} 
+2

Die Ausnahme kommt, wenn Sie versuchen 'Class.forName (".... OracleDriver")', weil Sie die Oracle JDBC-Klassen nicht auf Ihrem Classpath haben. Es gibt viele, viele andere Fragen genau so, eine schnelle Google-Suche erhalten Sie eine Antwort. –

Antwort

3

Der Grund, warum diese Ausnahme begegnen, ist, dass Sie das falsche Paket verwenden, um die OracleDriver Klasse zu beziehen

Daher sollten Sie die falsche Klasse Ladeaufruf ändern

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

in

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

, da diese Klassendatei dieimplementiertSchnittstelle, auf die zur Laufzeit tatsächlich geprüft wird.

Zur Bezugnahme siehe auch die Beschreibung in official JavaDoc von Oracle bereitgestellt:

der Oracle-JDBC-Treiber, die die Klasse java.sql.Driver Schnittstelle implementiert.

1

Lösung:

1) zunächst herunterladen ojdbc6.jar und ojdbc6_g.jar von Google.

2) Wenn Sie eine Verbindung zu Oracle 11g von Java herstellen und auf Java 6 ausführen, fügen Sie ojdbc6.jar oder ojdbc6_g.jar in den Klassenpfad Ihrer Anwendung ein.

3) Sobald Sie den Download abgeschlossen haben, fügen Sie die Dateien in den Ordner C: \ Programme \ Java \ jdk1.6.0_23 \ jre \ lib \ ext ein.

prost Gopinath Padala