64位java读写* dbf

时间:2013-02-06 18:47:25

标签: java odbc 64-bit dbf

Heya all,

我遇到了一些问题,也许有人对我有答案!

我正在尝试从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驱动程序管理器]未找到数据源名称且未指定默认驱动程序

我查了一下,找到的最佳答案是关于在system32或sysWOW64中使用DN进行操作但是我不能把它扔掉,或者我的理解还不够好....

以下是该答案的链接:

SO answer that I found

提前感谢...

1 个答案:

答案 0 :(得分:0)

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

希望这有帮助!