2017-07-25 149 views
1

我試圖連接Java來的MS Access數據庫,但它沒有工作真的很好如何將Java連接到MS Access數據庫

和我有這樣的

sun.jdbc.odbc.JdbcOdbcDriver 

的錯誤信息這是我的代碼:

import java.sql.*; 

public class main{ 
    public static void main(String[] args) { 

     try{ 
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
      Connection con = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver(*.accdb)};DBQ=D:\\Andries\\testdatabase.accdb"); 
      Statement st = con.createStatement(); 
     }catch(Exception ex){ 
      System.out.println(ex.getMessage()); 
     } 

    } 
} 
+0

什麼是異常消息? – Ali

+0

sun.jdbc.odbc.JdbcOdbcDriver – Harukanoo

+0

@Harukanoo - 你在使用Java 8嗎? –

回答

2

您可以使用ucanacess.jar用於連接Aceess女士數據庫

在此處顯示一些示例http://www.benchresources.net/jdbc-msaccess-database-connection-steps-in-java-8/

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

public class MsAccessDatabaseConnectionInJava8 { 

    public static void main(String[] args) { 

     // variables 
     Connection connection = null; 
     Statement statement = null; 
     ResultSet resultSet = null; 

     // Step 1: Loading or registering Oracle JDBC driver class 
     try { 

      Class.forName("net.ucanaccess.jdbc.UcanaccessDriver"); 
     } 
     catch(ClassNotFoundException cnfex) { 

      System.out.println("Problem in loading or " 
        + "registering MS Access JDBC driver"); 
      cnfex.printStackTrace(); 
     } 

     // Step 2: Opening database connection 
     try { 

      String msAccDB = "D:/WORKSPACE/TEST_WORKSPACE/Java-JDBC/Player.accdb"; 
      String dbURL = "jdbc:ucanaccess://" + msAccDB; 

      // Step 2.A: Create and get connection using DriverManager class 
      connection = DriverManager.getConnection(dbURL); 

      // Step 2.B: Creating JDBC Statement 
      statement = connection.createStatement(); 

      // Step 2.C: Executing SQL & retrieve data into ResultSet 
      resultSet = statement.executeQuery("SELECT * FROM PLAYER"); 

      System.out.println("ID\tName\t\t\tAge\tMatches"); 
      System.out.println("==\t================\t===\t======="); 

      // processing returned data and printing into console 
      while(resultSet.next()) { 
       System.out.println(resultSet.getInt(1) + "\t" + 
         resultSet.getString(2) + "\t" + 
         resultSet.getString(3) + "\t" + 
         resultSet.getString(4)); 
      } 
     } 
     catch(SQLException sqlex){ 
      sqlex.printStackTrace(); 
     } 
     finally { 

      // Step 3: Closing database connection 
      try { 
       if(null != connection) { 

        // cleanup resources, once after processing 
        resultSet.close(); 
        statement.close(); 

        // and then finally close connection 
        connection.close(); 
       } 
      } 
      catch (SQLException sqlex) { 
       sqlex.printStackTrace(); 
      } 
     } 
    } 
} 
+0

感謝您的鏈接先生 – Harukanoo

+0

歡迎@Harukanoo –

相關問題