如何避免java.sql.SQLException:[Microsoft] [ODBC Microsoft Access驱动程序]找不到文件'(unkown)'

时间:2014-03-19 01:44:24

标签: java sql windows-7 odbc 32bit-64bit

我在Windows 7上的java se和microsoft access / jet数据库。在使用Windows 7之前,我使用了win xp。使用eclipse编写代码,在ms access 2007上构建数据库并使用odbc - system dsn建立连接。在win xp上,我的数据库连接工作正常,我在java上的导航控件看起来很完美,但在Windows 7上它会提示错误:

java.sql.SQLException:[Microsoft][ODBC Microsoft Access Driver] could not find file '(unknown)'.

我已在c:windows\syswow64添加了32位odbc,并在管理工具/ odbc中建立了连接,但仍然提示我该错误。我错过了什么?

1 个答案:

答案 0 :(得分:0)

您必须在管理工具中添加到Microsoft Access驱动程序。

如果那样做不起作用:

try
{
  //your code
} 
catch(Exception ex)
{

}

这是我的代码:

public void dbconnect1(){
    try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    condb1 = DriverManager.getConnection("jdbc:odbc:Datab1");
    stdb1 = condb1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
    String sql = "Select * from Table1";
    rsdb1 = stdb1.executeQuery(sql);

    if (rsdb1.next()){
    textid.setText(rsdb1.getString("id"));
    textfn.setText(rsdb1.getString("fn"));
    textln.setText(rsdb1.getString("ln"));
    textdep.setText(rsdb1.getString("dept"));
    textpos.setText(rsdb1.getString("position"));
    textyearh.setText(rsdb1.getString("yearhired"));

    } else {JOptionPane.showMessageDialog(null,"connection in charge");}


    } catch (Exception ex){JOptionPane.showMessageDialog(null,"error connect"+ex);}

}