Java - DriverManager.getConnection Access

时间:2013-04-10 11:41:24

标签: java connection odbc ms-access-2007

我有以下代码来测试新服务器上的访问数据库的链接,一切都与现有服务器一起工作,我能够访问该文件夹。 !if.exists返回true,我可以使用Runtime.getRuntime()。exec(“run ......... + f)打开数据库;所以我知道它可以看到数据库。我无法获取失败的原因,但它100%在Connection conn = de .....

失败

任何人都可以帮助我。

运行提供以下输出 - Java结果:-1073741811

package testing;

import connections.LocalProperties;
import java.io.File;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

public class NewClass {

    public static void main(String[] args) {
        try {
            File f = new File("\\\\***\\***\\****\\***.accdb");


            if (!f.exists()) {
                System.out.println("file does not exist" + f.getAbsolutePath());
                return;
            } else {
                System.out.println("file does exist" + f.getAbsolutePath());
            }

            String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + f.getAbsolutePath();

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            String m_URLString = url;
            String m_UserName = System.getProperty("user.name");
            String m_Password = "*******";

            Connection conn = DriverManager.getConnection(m_URLString, m_UserName, m_Password);
            conn.close();
        } catch (SQLException ex) {
            Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

运行时我得到以下弹出窗口: JAVA.EXE 如果您处于中间位置,信息可能会丢失,有关详细信息,请单击此处

错误签名

应用程序名称:java.exe appver 7.0.30.5 modname:msvcr80.dll

1 个答案:

答案 0 :(得分:0)

我认为你错过了这一行 -

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");