2014-11-29 4 views
0

java.lang.ClassNotFoundException: org.apache.derby.jdbc.ClientDriverОшибка при создании подключения к базе данных?

at java.net.URLClassLoader$1.run(URLClassLoader.java:372) 

at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 

at java.security.AccessController.doPrivileged(Native Method) 

at java.net.URLClassLoader.findClass(URLClassLoader.java:360) 

at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 

at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:259) 
at iir.connection.main(connection.java:35) 

29 ноября 2014 5:03:01 PM iir.connection главный

СИЛЬНЫЙ: нулевой

ява .sql.SQLException: Нет подходящий драйвер найден для JDBC: дерби: // локальный: 1527/бала

at java.sql.DriverManager.getConnection(DriverManager.java:689) 

at java.sql.DriverManager.getConnection(DriverManager.java:270) 

at iir.connection.main(connection.java:40) 

Исключение в потоке "главный" java.lang.NullPointerException

at iir.connection.main(connection.java:44) 
+0

Вы проверили, что ваш флеш-накопитель находится в вашем пути к классу? – RE350

+0

Если это затмение, вы добавили файл jar (как внешний баннер) в Java Build Path -> Libraries? – learningloop

ответ

0

Поскольку вы не использовали общий код, трудно понять ваше требование. Тем не менее, я разделяю некоторые примеры кода, которые могут помочь вам устранить:

Database Использована Derby

Чтобы установить и настроить базу данных, пожалуйста, обратитесь по ссылке: https://db.apache.org/derby/papers/DerbyTut/install_software.html#derby_configure

Для определения свойств файла: Database.properties

url=jdbc:derby:myDerbyDB 
driver=org.apache.derby.jdbc.EmbeddedDriver 

Это поможет вам легко изменить код, если необходимо изменить базу данных.

Для проверки соединения с базой данных: Connect.java

package com.stackoverflow.test.Derby; 

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 
import java.util.ResourceBundle; 

public class Connect 
{ 
    public static Connection con; 
    static String url,driver; 

    public static void connectMe() throws ClassNotFoundException, SQLException 
    { 
     ResourceBundle resource = ResourceBundle.getBundle("database"); 
     driver=resource.getString("driver"); 
     url=resource.getString("url"); 
     Class.forName(driver); 

     con = DriverManager.getConnection(url); 
     if(con!=null) 
      System.out.println("Connection Established!"); 
    } 
} 

Чтобы создать таблицу: TableCreation.java

package com.stackoverflow.test.Derby; 

import java.sql.SQLException; 
import java.sql.Statement; 

public class TableCreation 
{ 
    public static void main(String args[]) throws ClassNotFoundException, SQLException 
    { 
     Connect.connectMe(); 
     Statement st = Connect.con.createStatement(); 
     String query = "CREATE TABLE myJavaTable (ID INT NOT NULL GENERATED ALWAYS AS IDENTITY CONSTRAINT ID_PK PRIMARY KEY, DATA VARCHAR(20) NOT NULL) "; 
     boolean val = st.execute(query); 
     if (val == false) { 
     System.out.println("Creation Successfull!"); 
     } else { 
      System.out.println("Creation not successfull!"); 
     } 
     Connect.con.close(); 
    } 

} 

для вставки данных в таблицу: PreparedStatementInsert.java

package com.stackoverflow.test.Derby; 

import java.sql.PreparedStatement; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.io.*; 

public class PreparedStatementInsert 
{ 
    public static void main(String args[]) throws ClassNotFoundException, SQLException, IOException 
    { 
     Connect.connectMe(); 
     String query; 
     Statement st = Connect.con.createStatement(); 
     BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); 


     query="Insert into myJavaTable(DATA) Values(?)"; 
     PreparedStatement ps = Connect.con.prepareStatement(query); 

     System.out.print("Enter the number of records to be inserted: "); 
     int n = Integer.parseInt(in.readLine()); 
     for(int i = 1; i<=n; i++) 
     { 
      System.out.print("Enter the Data: "); 
      ps.setString(1, in.readLine()); 
      ps.executeUpdate(); 
      System.out.println("One record inserted!"); 
     } 
     TableRetrieve.main(args); 
     Connect.con.close(); 
    } 

} 

Для отображения содержимое таблицы: TableRetrieve.java

package com.stackoverflow.test.Derby; 

import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 

public class TableRetrieve 
{ 
    public static void main(String args[]) throws ClassNotFoundException, SQLException 
    { 
     Connect.connectMe(); 
     Statement st = Connect.con.createStatement(); 
     ResultSet rSet = st.executeQuery("Select * from myJavaTable"); 

     while(rSet.next()) 
     { 
      System.out.print("ID: "+rSet.getString(1)); 
      System.out.println("\tName: "+rSet.getString(2)); 
     } 
     Connect.con.close(); 
    } 

} 

Чтобы обновить содержимое таблицы: TableUpdate.java

package com.stackoverflow.test.Derby; 

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 

public class TableUpdate 
{ 
    public static void main(String args[]) throws ClassNotFoundException, SQLException, IOException 
    { 
     Connect.connectMe(); 
     String query; 
     boolean flag = false; 
     Statement st = Connect.con.createStatement(); 
     BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); 
     System.out.println("Enter the ID of the record to be updated"); 
     int userID = Integer.parseInt(in.readLine()); 

     query = "Select * from myJavaTable"; 
     ResultSet rSet = st.executeQuery(query); 

     while(rSet.next()) 
     { 
      int id = rSet.getInt("ID"); 
      if(userID==id) 
      { 
       System.out.print("Enter the new data: "); 
       String str = in.readLine(); 
       query="Update myJavaTable set Data='"+str+"' where ID="+id; 
       int exe = st.executeUpdate(query); 
       flag = true; 
       break; 
      } 
     } 

     if(flag==true) 
      System.out.println("Updation successfull!"); 
     else 
      System.out.println("Record not found!"); 

     System.out.println("Table after updation is as follows:"); 
     TableRetrieve.main(args); 
     Connect.con.close(); 
    } 

} 

Чтобы удалить таблицу, созданную: TableDrop.java

package com.stackoverflow.test.Derby; 

import java.sql.SQLException; 
import java.sql.Statement; 

public class TableDrop 
{ 
    public static void main(String args[]) throws ClassNotFoundException, SQLException 
    { 
     Connect.connectMe(); 
     Statement st = Connect.con.createStatement(); 
     String query = "Drop table myJavaTable"; 
     boolean val = st.execute(query); 
     if(val==false) { 
     System.out.println("Table Dropped!"); 
     } else { 
      System.out.println("Table cannot be dropped!"); 
     } 
     Connect.con.close(); 
    } 

} 

Надежда это может помочь вам. Если вам требуется дополнительная информация, прокомментируйте ответ. Обновите мой ответ, если вы можете внести свой вклад в это, чтобы он мог быть более полезным для других.

Смежные вопросы