Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.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数据库连接异常_Java_Exception_Ms Access_Jdbc_Jdbc Odbc - Fatal编程技术网

Java数据库连接异常

Java数据库连接异常,java,exception,ms-access,jdbc,jdbc-odbc,Java,Exception,Ms Access,Jdbc,Jdbc Odbc,我正在将java连接到Microsoft access数据库,但出现以下异常 java.sql.SQLException:[Microsoft][ODBC驱动程序管理器]未找到数据源名称,也未指定默认驱动程序 try{ String ProjectPath= System.getProperties().getProperty("user.dir"); System.out.println(ProjectPath); String path,fullstring;

我正在将java连接到Microsoft access数据库,但出现以下异常

java.sql.SQLException:[Microsoft][ODBC驱动程序管理器]未找到数据源名称,也未指定默认驱动程序

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);
     }

我怎样才能解决我的问题呢?

我想你想用一种奇怪的方式来联系

代码(使用DriverManager):


{Microsoft Access驱动程序(*.mdb)}
是较旧的Microsoft Jet驱动程序的名称,该驱动程序仅适用于32位应用程序。(Jet数据库引擎或Jet ODBC驱动程序没有64位版本。)


要连接64位应用程序中的
.mdb
.accdb
文件,您需要从下载并安装64位版本的Access数据库引擎(a.k.a.“ACE”),然后在应用程序中使用驱动程序名
{Microsoft Access驱动程序(*.mdb,*.accdb)}

关闭主题,但是你用过JPA吗?它确实比JDBC更舒适。看一看,你会喜欢的;)您是否尝试过通过IDE进行连接?Url是什么?您的Java应用程序是否在64位Java虚拟机(JVM)中运行?是的,它正在64位Java虚拟机上运行此链接可能会回答此问题,但最好在此处包含答案的基本部分,并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会无效。也可以通过Eclipse透视图(称为:数据库透视图)进行连接。它会给出相同的异常[Microsoft][ODBC驱动程序管理器]未找到数据源名称,且未指定默认驱动程序
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;
}
    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());
    }
}
}