2

大家好,

我遇到了一些问题,也许有人可以为我解答!

我正在尝试从 java 应用程序中读取一些 *DBF 表。我找到了这段代码:

try
        {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            String connString="jdbc:odbc:Driver={Microsoft dBASE Driver *.dbf)};DefaultDir=C:\\test";//DefaultDir indicates the location of the db
            Connection connection=DriverManager.getConnection(connString);
            String sql="SELECT * FROM table_name where condition";// usual sql query
            Statement stmt=connection.createStatement();
            ResultSet resultSet=stmt.executeQuery(sql);
            while(resultSet.next())
            {
                System.out.println();
            }
            System.out.println();
        }
        catch (ClassNotFoundException e)
        {
            e.printStackTrace();
        }
        catch (SQLException e)
        {
            e.printStackTrace();
        }

这段代码在 32 位版本的 windows 上运行良好,但是当我尝试 64 位时,它给了我错误:

[Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序

我查了一下,发现的最佳答案是关于在 system32 或 sysWOW64 中玩 DN,但我无法将它扔掉,或者我的理解还不够好......

这是该答案的链接:

所以我找到的答案

提前致谢...

4

1 回答 1

1

我遇到了同样的问题,我卸载了 JDK 6 的 64 位版本并安装了 32 位版本解决了它。因此,我的应用程序开始恢复正常工作,对我的 *.DBF 文件进行查询/更新 :)

希望这可以帮助!

于 2013-12-09T15:07:00.727 回答