从Java访问Visual FoxPro数据库

ely*_*sch 4 java dbf jdbc visual-foxpro

我一直试图从Java访问Visual Fox Pro数据库一周.我变得绝望,因为我的项目预算和时间框架非常紧密.(和任何其他项目一样,我猜,哈哈哈)

我有一个.dbf,一个.cdx和一个.fpt文件.我需要能够查找记录,提取数据和更新数据.我没有VFP许可证.

我希望有人可以使用一些指针或工作示例.如果唯一的方法是购买一个司机我会愿意根据收到的建议考虑它.

这是我尝试过的简短描述.

我发现这个xBaseJ:java对象可以读取和写入dBase文件.但它并没有支持CDX索引文件.

还发现此示例访问dbf.但我的测试显示了这个例外:java.sql.SQLException: [Microsoft][Controlador ODBC dBase] La tabla externa no tiene el formato esperado. 我想这个错误的英文翻译可能是这样的:java.sql.SQLException: [Microsoft][ODBC dBase Driver] External table is not in the expected format

由于这个错误,我想我需要一个更新的驱动程序.在这个微软页面中说他们不再拥有ODBC驱动程序,并且每个人都应该使用OLE DB Provider.问题是我还没有找到从java中使用它的方法.

据我所知,没有办法直接做到.在这里发现有人在谈论JACOB"thingy",有人评论需要创建一个C++或C#"某事"才能做我需要的东西.我想他正在谈论JACOB项目:一个JAva-COM桥.但我也不知道COM实际上要做什么.

一直未能找到合适的JDBC驱动程序.

谢谢你们.

伊利.

ely*_*sch 8

我找到了办法.

我最终使用了JACOB(从这里开始).

  1. http://msdn.microsoft.com/en-US/vfoxpro/bb​​190232下载并安装Visual FoxPro OLE DB驱动程序.直接链接是:用于Visual FoxPro 9.0 SP2的Microsoft OLE DB提供程序
  2. 下载了JACOB版本1.17二进制文件和源代码.
  3. 添加jacob.jar为Java Build Path库
  4. 复制jacob-1.17-x86.dll到项目目录(与eclipse的.project文件相同)
  5. jacob-1.17_src\jacob-1.17\samples\com\jacob\samples\ado内容复制到我的src目录并:
    1. 删除了ms目录
    2. 改名test.javaMain.java
    3. 将连接字符串更改为: String connectStr = "Provider=vfpoledb;Data Source=C:\\path\\to\\Data\\;Collating Sequence=general;";
    4. 更改了queryStr以匹配dbf的名称之一

希望这有助于其他人.