java最好的开源dbf驱动程序是什么?

java最好的开源dbf驱动程序是什么?,java,dbf,jdbc-odbc,Java,Dbf,Jdbc Odbc,任何人都可以提到最好的开源odbc:jdbc驱动程序来读/写dbf吗。? 我有一个dbf文件,我想通过web应用程序(Tomcat应用程序)查询(选择/更新) 任何帮助/提示都将不胜感激 谢谢。是访问dbf文件的好选择,但它有一个自定义api(即:不是sql) 我建议您将dbf文件转储到db表中(如果需要事务/一致性检查,myisam引擎的mysql或innodb将完成此任务) 然后可以根据需要转储回dbf try { Class.forName("sun

任何人都可以提到最好的开源odbc:jdbc驱动程序来读/写dbf吗。? 我有一个dbf文件,我想通过web应用程序(Tomcat应用程序)查询(选择/更新)

任何帮助/提示都将不胜感激

谢谢。

是访问dbf文件的好选择,但它有一个自定义api(即:不是sql)

我建议您将dbf文件转储到db表中(如果需要事务/一致性检查,myisam引擎的mysql或innodb将完成此任务)

然后可以根据需要转储回dbf

try
        {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            String connString="jdbc:odbc:Driver={Microsoft dBASE Driver (*.dbf)};DefaultDir=E:\\db";//DeafultDir 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();
        }
它起作用了。我想不需要探索其他(开放/封闭)API,因为Java提供了一种读/写dbf的极好方法

谢谢大家。

您可以尝试使用-一个简单的Java库来读/写DBF文件。 我是这个库的作者,它在我的生产应用程序中运行得非常好。 这很简单


请试一试。

相关:您能告诉我如何使用此驱动程序禁用自动提交吗?因为使用
connection.setAutoCommit(false)
方法抛出
java.sql.SQLException:[Microsoft][ODBC dBase Driver]可选功能未实现
谢谢,即使在win7上也对我有效-64bit@XCoder您能说在64位机器上运行时是否涉及一些特殊的配置步骤吗?我在这里遇到一个问题,当我将驱动程序与Win7 64位一起使用时,它只返回SQLException,并显示以下消息:
[Microsoft][ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序
,当所有驱动程序都在我的旧32位机器上运行时?@Boro DSN设置在win64中不同,但它与java代码无关。您设置的DSN不是64位的,这个链接可能会有更大的帮助:JDBC ODBC桥现在已经被弃用,将在JDK 8中消失。根据手头数据的大小,我倾向于使用内存中的Java数据库,如hsqldb或h2,并使用dans-dbf编写一个小包装器。效果很好。谢谢。你的漂亮工具的许可证政策是什么?@Andremoniy,项目页面上没有指定许可证,对吗。我正在考虑Apache2.0许可证或另一个允许对商业使用收费的许可证。可能Apache 2.0许可证会赢。Thx!为fireBird dbfs工作。干得好!非常感谢你!