2013-05-08 4 views
1

Я пытаюсь подключить программу java, которую я создаю в базе данных университета, которую я создал в MS Access.Подключение баз данных с java-драйвером Ошибка

Мой код выглядит следующим образом:

package Uni; 
    import java.util.*; 
    import java.sql.*; 

    public class College { 
     static final String database_URL = "H:/CSCI 213/Labs/Lab 11 - 12/src/Uni/Uni.accdb"; 
     static Scanner input = new Scanner(System.in); 
     static Scanner in = new Scanner(System.in); 

     @SuppressWarnings("unused") 
     public static void main(String[] args) { 
      Connection connection = null; 
      Statement statement = null; 
      ResultSet resultset = null; 
      String name; 
      int age; 
      int id; 
      String choice = "y"; 

      while(choice.equalsIgnoreCase("y")) { 
     System.out.println("What Would you like to do"); 
     System.out.println("1- Insert"); 
     System.out.println("2- Update"); 
     System.out.println("3- Search"); 
     System.out.println("4- Delete"); 
     System.out.println("5- Exit"); 

     int x = input.nextInt(); 
     try { 
        connection = DriverManager.getConnection(database_URL); 
        //connection.commit(); 
        //statement = connection.createStatement(); 
        switch(x) { 
         case 1: 
         System.out.println("Enter the name:"); 
         name = input.nextLine(); 
         System.out.println("Enter the Age:"); 
         age = input.nextInt(); 
         //statement.executeQuery("INSERT INTO Database VALUES ('"+name+"','"+age+"')"); 
         Statement sta1 = connection.createStatement(); 
         sta1.executeQuery("INSERT INTO Database VALUES ('"+name+"','"+age+"')"); 
         sta1.close(); 
         System.out.println("Your ID is: "); 
         //statement.executeQuery("select ID from Database where Name='"+name+"';"); 
         Statement sta2 = connection.createStatement(); 
         sta2.executeQuery("select ID from Database where Name='"+name+"';"); 
         connection.commit(); 
         sta2.close(); 
         break; 

         case 2: 
         System.out.println("Enter the id of the person you'd like to update:"); 
         id = input.nextInt(); 
         System.out.println("Enter the name:"); 
         name = input.nextLine(); 
         System.out.println("Enter the Age:"); 
         age = input.nextInt(); 
         //statement.executeUpdate("UPDATE Database SET Age="+age+", Name='"+name+"' WHERE ID="+id+";"); 
         Statement sta3 = connection.createStatement(); 
         sta3.executeQuery("UPDATE Database SET Age="+age+", Name='"+name+"' WHERE ID="+id+";"); 
         connection.commit(); 
         sta3.close(); 
         break; 

        case 3: 
         System.out.println("Enter the Name of the person you'd like to search for:"); 
         name = input.nextLine(); 
         //statement.executeQuery("select Name, Age from Database where Name='"+name+"';"); 
         Statement sta4 = connection.createStatement(); 
         sta4.executeQuery("select Name, Age from Database where Name='"+name+"';"); 
         connection.commit(); 
         sta4.close(); 
         break; 

        case 4: 
         System.out.println("Enter the id of the person you'd like to delete:"); 
         id = input.nextInt(); 
         //statement.execute("DELETE FROM Database where ID='"+id+"';"); 
         Statement sta5 = connection.createStatement(); 
         sta5.executeQuery("DELETE FROM Database where ID='"+id+"';"); 
         connection.commit(); 
         sta5.close(); 
         break; 

        case 5: 
         System.out.println("Terminating"); 
         System.exit(0); 

        default: 
         System.out.println("Wrong Entry"); 
        } 

       } 

      catch (SQLException e) { 
       System.out.println("SQLException: "+e.getMessage()); 
      } 


      System.out.println("Would you like to try again ? (enter y for yes)"); 
      choice = in.nextLine(); 
      } 
    } 
    } 

теперь точный выход следующим

Что вы хотите сделать 1- Вставьте 2- Обновление 3- Поиск 4- Удалить 5- Выход SQLException: Не найдено подходящих драйверов для H:/CSCI 213/Labs/Lab 11 - 12/src/Uni/Uni.accdb Хотите попробовать еще раз? (Введите у для да)

любые идеи о том, как решить эту проблему очень ценится

ответ

0

H:/CSCI 213/Labs/Lab 11 - 12/src/Uni/Uni.accdb это путь к файлу, а не действительный JDBC URL.

Вам необходимо получить JAR-файл JDBC-драйвера для вашей конкретной базы данных, поместить его в путь к классу при запуске вашей программы и использовать правильный URL-адрес JDBC. То, как должен выглядеть URL JDBC, зависит от того, какая база данных и драйвер вы используете (смотрите в документации).

Для использования базы данных Microsoft Access через JDBC см. Например: How to connect Java to MS Access или выполните поиск «Microsoft Access JDBC driver».

См. Oracle JDBC Getting Started tutorial для получения более подробной информации.

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