为什么netbeans看不到我创建的数据库驱动器?

时间:2013-12-06 19:59:28

标签: java database netbeans jdbc jdbc-odbc

我正在创建一个带ms访问权限的数据库,我在odbca32上的数据源上添加了这个数据库。但是当我创建连接时,我无法看到表格中的内容我创建了...继承人代码..

import java.sql.*;


 public class db {

Connection con;
Statement st;
ResultSet rs;
public db(){
connect();
}
public void connect(){

try{

    String driver="sun.jdbc.odbc.JdbcOdbcDriver";
    Class.forName(driver);

    String db="jdbc:odbc:db"; 
    con=DriverManager.getConnection(db); 
    st=con.createStatement();
    String sql="select * from Table1";
    rs = st.executeQuery(sql);

    while(rs.next()){

        String fname=rs.getString("Fname");
        String lname=rs.getString("Lname");

        System.out.println(fname+"  "+lname);

    }

}catch(Exception ex){

}
 }
public static void main(String[] args) {
    new db();
}
}

那就是我得到的错误......

java.sql.SQLException:[Microsoft] [?????????? ???????????? ???????? ODBC] ?? ??????????? DSN ???????? ????????? ?????????????? ?????? ??? ???????????? ???????? ??? ??? ?????????     at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6964)     at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7121)     at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3080)     at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)     at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)     在java.sql.DriverManager.getConnection(DriverManager.java:571)     在java.sql.DriverManager.getConnection(DriverManager.java:233)     在db.connect(db.java:20)     在db。(db.java:10)     在db.main(db.java:39)

1 个答案:

答案 0 :(得分:0)

我从您的疯狂错误消息中得出的最佳猜测是您的连接字符串不正确。对于MS Access数据库,连接字符串需要包含(至少)文件名。

根据another answer on StackOverflow,你需要这样的东西:

String db = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=databasefile.mdb"