2017-05-01 6 views
1

は、私は、NetBeansの私のデータベースを操作するためにダービーを使用したいのですが、私はこのエラーを取得:にjava.lang.ClassNotFoundException:org.apach.derby.jdbc.ClientDriver

java.lang.ClassNotFoundException: org.apach.derby.jdbc.ClientDriver 

ダービーライブラリを追加するには、私が行っている:

  1. 右クリックし、リストには、その後

  2. "ライブラリ" に、私は、Java DBドライバを選択

  3. Class.forName("org.apach.derby.jdbc.ClientDriver"); 
    

    へ:

    Class.forName("org.apach.derby.jdbc.client"); 
    

    私は常にエラーを取得

は、ここで私は変更しても私のクラスConnexionDB.java

public class ConnexionDB { 

    private Connection conx = null; 
    private final String urlBDD = "jdbc:derby://localhost:1527/tennis;create=true;user=tennis;password=tennis"; 

    private String MessageError = "No Errors ! "; 

    public ConnexionDB() { 
     this.openConnexion(); 
     this.createDataBase(); 
    } 

    private String getMessageError() { 
     return MessageError; 
    } 

    private void setMessageError(String MessageError) { 
     this.MessageError = MessageError; 
    } 

    private void openConnexion() { 
     try { 
      Class.forName("org.apach.derby.jdbc.ClientDriver"); 
      this.conx = DriverManager.getConnection(urlBDD); 
     } catch (Exception ex) { 
      this.setMessageError("BD_Connexion:ouvrirConnexion:Erreur::: " + ex.getMessage()); 
      ex.printStackTrace(); 
     } 
    } 

    public void closeConnexion() { 
     try { 
      this.conx.close(); 
     } catch (SQLException ex) { 
      this.setMessageErreur("BD_Connexion:fermerConnexion:Erreur::: " + ex.getMessage()); 
     } 
    } 

    public Object[][] selectExe(String requete) { 
     Object[][] data = new Object[1][1]; 

     try { 
      if (requete.toLowerCase().contains("select")) { 
       Statement ReqExe = this.conx.createStatement(); 
       ResultSet ReqRes = ReqExe.executeQuery(requete); 

       int nbreColonne = ReqRes.getMetaData().getColumnCount(); 
       int nbreLigne = this.nombreLigne(requete); 

       data = new Object[nbreLigne + 1][nbreColonne]; 

       for (int i = 1; i <= nbreColonne; i++) { 
        data[0][i - 1] = ReqRes.getMetaData().getCatalogName(i); 
       } 

       int cmptr = 1; 
       while (ReqRes.next()) { 
        for (int i = 1; i <= nbreColonne; i++) { 
         data[cmptr][i - 1] = ReqRes.getString(i); 
        } 
        cmptr++; 
       } 
       ReqRes.close(); 
       ReqExe.close(); 
      } 
     } catch (Exception ex) { 
      this.setMessageErreur("BD_Connexion:selectExe:Erreur::: " + ex.getMessage()); 
     } 

     return data; 
    } 

    private int nombreLigne(String requete) { 
     int nbreLigne = 0; 

     try { 
      if (requete.toLowerCase().contains("select")) { 

       Statement ReqExe = this.conx.createStatement(); 
       ResultSet ReqRes = ReqExe.executeQuery(requete); 
       // 
       while (ReqRes.next()) { 
        nbreLigne++; 
       } 
       ReqRes.close(); 
       ReqExe.close(); 
      } 
     } catch (Exception ex) { 
      this.setMessageErreur("BD_Connexion:nombreLigne:Erreur::: " + ex.getMessage()); 
     } 
     return nbreLigne; 
    } 

    public boolean updateExe(String requete) { 
     boolean data = false; 

     try { 
      if (!requete.toLowerCase().contains("select")) { 

       Statement ReqExe = this.conx.createStatement(); 

       int reqInfo = ReqExe.executeUpdate(requete); 

       if (reqInfo > 0) { 
        data = true; 
       } 
       ReqExe.close(); 
      } 
     } catch (Exception ex) { 
      this.setMessageErreur("BD_Connexion:updateExe:Erreur::: " + ex.getMessage()); 
     } 
     return data; 
    } 

    private void createDataBase() { 
     try { 
      Statement ReqExe = this.conx.createStatement(); 

      String tableAdherent = "CREATE TABLE IF NOT EXISTS ADHERENT\n" 
        + "(NUMEROADHERENT INTEGER PRIMARY KEY GENERATED ALWAYS AS IDENTITY\n" 
        + "(START WITH 1, INCREMENT BY 1),\n" 
        + "NOM VARCHAR(24) NOT NULL,\n" 
        + "PRENOM VARCHAR(24) NOT NULL,\n" 
        + "ADDRESSE VARCHAR(50),\n" 
        + "TELEPHONE VARCHAR(24),\n" 
        + "EMAIL VARCHAR(30) NOT NULL UNIQUE,\n" 
        + "PASSWORD VARCHAR(35) NOT NULL);"; 
      ReqExe.execute(tableAdherent); 

      String tableTouroi = "CREATE TABLE IF NOT EXISTS TOURNOI\n" 
        + "(CODETOURNOI INTEGER PRIMARY KEY AUTOINCREMENT,\n" 
        + "NOM VARCHAR(24) NOT NULL,\n" 
        + "DATE VARCHAR(30) NOT NULL,\n" 
        + "LIEU VARCHAR(30));"; 
      ReqExe.execute(tableTouroi); 

      String tableInscription = "CREATE TABLE IF NOT EXISTS INSCRIPTION\n" 
        + "(IDINSCRIPTION INTEGER PRIMARY KEY AUTOINCREMENT,\n" 
        + "NUMEROADHERENT INTEGER NOT NULL,\n" 
        + "CODETOURNOI INTEGER NOT NULL,\n" 
        + "DATEINSCRIPTION VARCHAR(30) NOT NULL,\n" 
        + "CONSTRAINT fk_numeroAdherent Foreign KEY (NUMEROADHERENT) references ADHERENT(NUMEROADHERENT),\n" 
        + "CONSTRAINT fk_codeTournoi Foreign KEY (CODETOURNOI) references TOURNOI(CODETOURNOI));"; 
      ReqExe.execute(tableInscription); 

      ReqExe.close(); 

     } catch (SQLException ex) { 
      System.out.println("Echecs : Creation des tables"); 
      Logger.getLogger(ConnexionDB.class.getName()).log(Level.SEVERE, null, ex); 
     } 
    } 
} 

のコードです!

+0

追加したライブラリの名前は何ですか?それはderbyClient.jarですか?どこで手に入れましたか? – smarquis

+0

derbyclient.jar –

答えて

3

読み込んでいるクラス名にタイプミスがあります。

お知らせ電子でapacheの

"org.apache.derby.jdbc.ClientDriver" 
+0

ありがとう!それは今働く! –

0

Class.forNameのはもはや必要ありません。 jarを追加するだけで、JDBCドライバが追加されます。コードのこのセクションをコメントアウトしてください。 Class.forName(JDBC_DRIVER) no longer needed?

関連する問題