2015-02-05 2 views
1

나는 다운로드 여기에서 다음 지침에 의해 uCanAccess 단지를 설치 : 나는 자바에 대한 마이크로 소프트 액세스 DB를 사용하는 방법을 배우고 Manipulating an Access database from Java without ODBC 이 내가자바 : ucanaccess HSQLDB의 java.lang.NoSuchMethodError :

을 사용하는 코딩입니다

:
package Main.Net; 

import java.sql.*; 


public class DataBase { 

    Connection con; 
    Statement st; 
    ResultSet rs; 



    public DataBase() { 

    } 

    private void connect() { 

     try { 
      //String driver = "sun.jdbc.odbc.jdbcodbcdriver"; 
      //Class.forName(driver); 

      String db = "jdbc:ucanaccess://C:/Users/MyUser/workspace/Connectors_DB.accdb"; 
      con = DriverManager.getConnection(db); 
      st = con.createStatement(); 
      String sql = "select * from Table"; 
      rs = st.executeQuery(sql); 

      while(rs.next()) { 

       String username = rs.getString("Username"); 
       String password = rs.getString("Password"); 

       System.out.println(username + "\t" + password); 
      } 

     } catch(Exception e) { 
      e.printStackTrace(); 
     } 
    } 

    public static void main(String[] args) { 
     new DataBase().connect(); 
    } 
} 

내가 자바 프로그램을 실행할 때, 그것은

Exception in thread "main" java.lang.NoSuchMethodError: org.hsqldb.DatabaseURL.parseURL(Ljava/lang/String;ZZ)Lorg/hsqldb/persist/HsqlProperties; 
at org.hsqldb.jdbc.JDBCDriver.getConnection(Unknown Source) 
at org.hsqldb.jdbc.JDBCDriver.connect(Unknown Source) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at net.ucanaccess.jdbc.DBReference.getHSQLDBConnection(DBReference.java:354) 
at net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:206) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at Main.Net.DataBase.connect(DataBase.java:23) 
at Main.Net.DataBase.main(DataBase.java:42) 

오류이 오류와 함께 제공이 코드에있다

String db = "jdbc:ucanaccess://C:/Users/MyUser/workspace/Connectors_DB.accdb"; 
con = DriverManager.getConnection(db); 

hsqldb의 버전과 관련이 있습니까?

ucanaccess-2.0.9.3.jar

평민 - 랭 - 2.6 : 그것은 않는 경우 때문에 나는 이미 HSQLDB와 같은 오류의 다른 버전을 여기

내가 사용하고 항아리입니다 나타납니다 다운로드 시도 .JAR

가공 로깅-1.1.1.jar

hsqldb.jar만을

jackcess-2.0.8.jar

01,235,

so ... 어떻게 해결할 수 있습니까?

+0

글쎄, 오류의 직접적인 원인은 분명합니다. 이런 상황이 발생할 수있는 방법에 관해서는 몇 가지 메커니즘이 있지만 가장 많이 사용되는 jar 파일은 일치하지 않는 jar 파일입니다. –

답변

2

this thread의 대답은 클래스 경로에 여러 개의 hsqldb 버전이 있음을 나타냅니다. 어쩌면 다른 관련 항아리 중 하나에 hsqldb도 포함되어 있을까요? 원하는 zip 도구 또는 jar -tf foo.jar 명령을 사용하여 검사 할 수 있습니다.

관련 문제