tempad
ReadyGo!技术成就梦想 >>Java >> 通过java动态创建ODBC数据源来访问DBF文件

通过java动态创建ODBC数据源来访问DBF文件

ReadyGo!技术成就梦想 网络搜索 efish 2008-9-6 18:00:42

【-IT技术报道】好久没有使用过VFP了,记忆中似乎也只是在学校中使用过。这次出差,客户给了一大堆dbf文件,要求处理。

无奈啊,顾客就是上帝。虽然可以通过许多途径来处理,但是总想用java语言来处理。最终还是需要通过JNI来处理,不过用到了一个开元的操作注册表的registry-3.1.3,使用后,发现蛮简单的,网上已有很多资料介绍,就不多说了。

想了两种解决方法,第一种比较麻烦,但是看网上很多人问,就也总结了出来,其实就是通过java动态创建ODBC数据源来访问DBF文件,这个就需要用到registry,来修改注册表了。

其实,主要是动态创建ODBC数据源,开始很简单,可以手工设置一次数据源,当然也可以通过程序直接生成,问题都不大。下面只说怎样修改。

import com.ice.jni.registry.RegStringValue; import com.ice.jni.registry.Registry; import com.ice.jni.registry.RegistryKey;

public class TestC { public static void main(String args) { java.sql.Connection conn = null; java.sql.PreparedStatement pt = null; java.sql.ResultSet rs = null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch (ClassNotFoundException ex1) { } try { conn = DriverManager.getConnection("jdbc:odbc:data_0930", "", ""); pt = conn.prepareStatement(" select * from test_table"); rs = pt.executeQuery(); while(rs.next()){ System.out.println("==="+rs.getString(1)); System.out.println("==="+rs.getString(2)); System.out.println("==="+rs.getString(3)); System.out.println("==="+rs.getString(4)); System.out.println("==="+rs.getString(5)); } } catch (SQLException ex) { } } }

其实真的很简单。

其实,文件名,是可以动态获取的,一般可以通过java中的File类来获取:

import java.io.File; public class TestD { public static void main(String df = file.listFiles(); for(int k =0;k if(df.isDirectory()){ // 因为文件夹中包含DBF文件,所以判断是文件夹,而不是文件 System.out.println("===kkkk=="+k+"====="+df.getName()); } } } }

第一种就是这样,需要注意的是registry的使用,其实很简单的,只要把DLL文件放到classpath下就可以了。

第二种其实更简单,就是通过另一个开元的类包jdbf.jar,使用方法也很简单,网上有很多资料,可以查询。也就不多说了。

(责任编辑:董建伟)

责任编辑: efish 参与评论 查找更多:
相关文章
java语言中异常错误恢复处理的异常类型 (1) java语言中异常错误恢复处理的异常类型 (1)
教你如何妙用EditPlus 配置Java编译环境 教你如何妙用EditPlus 配置Java编译环境
JAVA和.NET两个平台对于安全功能的比较 (1) JAVA和.NET两个平台对于安全功能的比较 (1)
一个优秀Java程序员必须了解的GC工作原理 一个优秀Java程序员必须了解的GC工作原理
Java课堂:初学者都必须理解的几个问题 (1) Java课堂:初学者都必须理解的几个问题 (1)
Web开发正确方向 Javascript是一个错误吗? Web开发正确方向 Javascript是一个错误吗?
Firefox浏览器兼容Javascript脚本的方法 Firefox浏览器兼容Javascript脚本的方法
JS技巧:在IE浏览器中正确显示PNG透明图片 JS技巧:在IE浏览器中正确显示PNG透明图片
基础知识:Java Web三层架构的配置详解 基础知识:Java Web三层架构的配置详解
Sun预计年底之前将公开全部Java源代码 Sun预计年底之前将公开全部Java源代码
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn

分类导航
ReadyGo!技术成就梦想