-2

Java を Microsoft Access データベースに接続していますが、次の例外が発生しています

java.sql.SQLException: [Microsoft][ODBC Driver Manager] データ ソース名が見つからず、既定のドライバーが指定されていません

try{
     String ProjectPath= System.getProperties().getProperty("user.dir");
     System.out.println(ProjectPath);
     String path,fullstring;
     path=ProjectPath+"\\data.mdb";
     fullstring="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" +path;
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     Connection con=DriverManager.getConnection(fullstring);
     System.out.println("Connected");
 }catch(Exception e){

     System.out.println("Connected Error: "+ e);
     }

どうすれば問題を解決できますか?

4

3 に答える 3

1

{Microsoft Access Driver (*.mdb)}は、32 ビット アプリケーションでのみ動作する古い Microsoft Jet ドライバーの名前です。(Jet データベース エンジンまたは Jet ODBC ドライバーの 64 ビット バージョンはありません。)

64 ビット アプリケーションからファイルに接続するには.mdbここ.accdbから 64 ビット バージョンの Access データベース エンジン (別名 "ACE") をダウンロードしてインストールし、ドライバ名を使用してアプリケーションで参照する必要があります。{Microsoft Access Driver (*.mdb, *.accdb)}

于 2013-10-19T13:11:09.783 に答える
0
    import java.sql.*;
    class dbTst {
public static void main(String args[]) throws Exception{
    try{


    //Driver for JDBC-ODBC Bridge
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

    //Establishing the Connection through DSN
    Connection con= DriverManager.getConnection("jdbc:odbc:db","","");

    //Creating the Statement Object
    Statement st=con.createStatement();


    ResultSet rs=st.executeQuery("Select * from aman");

    while(rs.next()==true){

    System.out.println(rs.getString("name")+" - " + rs.getString("basic"));
    }

    rs.close();
    st.close();
    con.close();
    }
            catch(Exception ee){
                System.out.println(ee.getMessage());
    }
}
}
于 2013-10-20T09:30:51.423 に答える
-1

私はあなたが何か変な方法で接続したいと思う..

http://docs.oracle.com/javase/tutorial/jdbc/basics/connecting.html

コード (DriverManager を使用):

public Connection getConnection() throws SQLException {
    Connection conn = null;
    Properties connectionProps = new Properties();
    connectionProps.put("user", this.userName);
    connectionProps.put("password", this.password);

    if (this.dbms.equals("mysql")) {
        conn = DriverManager.getConnection(
               "jdbc:" + this.dbms + "://" +
               this.serverName +
               ":" + this.portNumber + "/",
               connectionProps);
    } else if (this.dbms.equals("derby")) {
        conn = DriverManager.getConnection(
               "jdbc:" + this.dbms + ":" +
               this.dbName +
               ";create=true",
               connectionProps);
    }
    System.out.println("Connected to database");
    return conn;
}
于 2013-10-18T08:12:14.587 に答える