java对.mdb文件的读取测试

由于业务需要,以access数据库形式存储的信息,需要导入到系统当中,其中原access数据库文件中有一个.mht对象的字段,在access数据库中以ole字段存储。所以,现考虑两点问题,一个是如何在java中读取.mdb文件,另一个是ole字段的会不会正常读写。所以,写了个demo来测试下。

首先在access中新建立一个test.mdb。建立test表,表字段为id(自增序列),txtole。给txt字段一个test1文本,ole对象插入一个.mht格式的对象,这样就基本满足测试需要。

如图:

 

然后在eclipse中写一个测试操作。

import java.io.*;

import java.sql.*;

import java.util.*;

 

public class Test{

 

    @SuppressWarnings("resource")

public static void main(String[] args) {

            try {

 String dbur1 = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=c://test.mdb";  

                 Connection conn = DriverManager.getConnection(dbur1, null, null);

                 Statement stmt = conn.createStatement();

 

                 ResultSet rs = stmt.executeQuery("select * from Test ");  

                 

 

                if  (rs != null ) {

                    while ( rs.next() ) {

                     //得到结果集中的流,获取指定列的值在当前行ResultSet对象作为流,第一列是1,第二个是2,…

                            InputStream msg = rs.getBinaryStream(3);

                            //设置一个文件输出流,以便生成文件

                            FileOutputStream file = null;

                            file = new FileOutputStream ("c:/test3.mht");

                           

                            int len=0;

                           // 设置缓冲区。从结果集流中读一部分,放到缓冲区中,然后再读一部分。。。

                            byte[] buffer = new byte[1024];

 

                            while ((len = msg.read(buffer)) != -1) {//

                            file.write(buffer, 0, len);

                            }

                            // 刷新流中信息,以便将文件生成

                            file.flush();

                            System.out.print("读取成功");

                            file.close();

                            msg.close();

                           

                            

                    }

                }

                stmt.close();

            }

 

            catch (Exception e) {

                System.out.println("Error: " + e);

            }

    }

}

经测试,是可以正常读写没问题的。其中要注意的是,odbc要连接成功,需要选择jdk1.8以下的版本,而且需要配置控制面板——系统安全——管理工具——数据源,具体操作,百度很多。

这样,初步测试对access.mdb文件的读取就算成功了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值