Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么netbeans看不到我创建的数据库驱动器?_Java_Database_Netbeans_Jdbc_Jdbc Odbc - Fatal编程技术网

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

Java 为什么netbeans看不到我创建的数据库驱动器?,java,database,netbeans,jdbc,jdbc-odbc,Java,Database,Netbeans,Jdbc,Jdbc Odbc,我正在用ms access创建一个数据库,我在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.J

我正在用ms access创建一个数据库,我在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????????? 位于sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6964) 位于sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7121) 位于sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3080) 位于sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323) 位于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)

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

根据,您需要这样的东西:

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

catch
块中,请尝试添加
ex.printStackTrace()以便我们可以看到任何错误?(后期编辑):您的错误消息看起来很疯狂!数据库是否配置为使用非拉丁字母?如果是这样,您的控制台是否设置为正确显示此文本?我试图从数据源创建一个数据库以保存access数据库…我在C:\\windows\syswow64\odbca32中找到了这样做的技巧,但当我尝试访问数据库时,我创建了它失败..我相信这是连接问题,但我无法解决/thx的链接,先生…我现在修复了问题,我的数据库是rdy的工作…再次thx。。。