1. 在ClassPath下存一个空的blank.mdb. (也就是在你的项目中包含一个空白的.mdb文件)

2. 将项目中的blank.mdb另存到新的路径. (可能是用户选择要导出mdb文件的保存路径)

3. 将.mdb作为数据源, 用JDBC ODBC添加数据. 注: jdbc-odbc 在jre中是有的jre/lib/rt.jar. 也就是不需要引入额外的jar包.

注:

步骤3中, 你可以执行CREATE Table的SQL语句.

如果你已经知道了DB的SCHEMA, 那更简单了, 你直接在你的项目中包含一个带有SCHEMA的空的.mdb文件, 这样在步骤3的时候, 不需要再做表结构的创建, 只需要做数据插入即可.

public class AccessUtil {

private Connection connection;

private Statement statement;

// 空白mdb文件路径. 直接保存在src/cn/iwoo/dataexport/common/下.

private final String blankMdbFilePath = "cn/iwoo/dataexport/common/";

// 空白mdb文件名

private final String blankMdbFileName = "blank.mdb";

// 需要保存到的新的mdb文件路径和名

private String savedMdbFilePathAndName = defaultSavedMdbFilePath + defaultSavedMdbFileName;

// 新mdb文件路径

public static final String defaultSavedMdbFilePath = "C://";

// 新mdb文件名

public static final String defaultSavedMdbFileName = "data.mdb";

// mdb文件后缀

public static final String defaultSavedMdbFileExtension = ".mdb";

// 标准的单件模式

private static AccessUtil instance = new AccessUtil();

private AccessUtil() {

}

public static AccessUtil getInstance() {

return instance;

}

/**

*

Description: 设置待保存的新的mdb文件路径和名

*/

public void setSavedFilePathAndName(String newFilePathAndName) {

this.savedMdbFilePathAndName = newFilePathAndName;

}

/**

*

Description: 删除已经存在的mdb文件

*/

public void deleteOldMdbFile() throws Exception {

File oldTargetFile = new File(savedMdbFilePathAndName);

if (oldTargetFile.exists()) {

oldTargetFile.delete();

}

}

/**

*

Description: 将空白mdb文件拷贝到特定目录

*/

public void copyBlankMdbFile() throws Exception {

InputStream is = this.getClass().getClassLoader().getResourceAsStream(blankMdbFilePath + blankMdbFileName);

OutputStream out = new FileOutputStream(savedMdbFilePathAndName);

byte[] buffer = new byte[1024];

int numRead;

while ((numRead = is.read(buffer)) != -1) {

out.write(buffer, 0, numRead);

}

is.close();

out.close();

}

/**

*

Description: 打开对mdb文件的jdbc-odbc连接

*/

public void connetAccessDB() throws Exception {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + savedMdbFilePathAndName.trim() + ";DriverID=22;READONLY=true}";

connection = DriverManager.getConnection(database, "", "");

statement = connection.createStatement();

}

/**

*

Description: 执行特定sql语句

*/

private void executeSql(String sql) throws Exception {

statement.execute(sql);

}

/**

*

Description: 关闭连接

*/

public void closeConnection() throws Exception {

statement.close();

connection.close();

}

}

分享到:

2010-06-16 20:42

浏览 2313

评论

1 楼

jaychang

2011-01-10

[/color][color=black][color=oliv[size=small][/size]e][/color

]

mdb java_Java生成mdb文件(MS Access文件)相关推荐

  1. java 导出mdb文件_Java生成mdb文件[MS Access文件](转载)

    public class AccessUtil { private Connection connection; private Statement statement; // 空白mdb文件路径. ...

  2. java mdb文件_Java生成mdb文件[MS Access文件] | 學步園

    1. 在ClassPath下存一個空的blank.mdb. (也就是在你的項目中包含一個空白的.mdb文件) 2. 將項目中的blank.mdb另存到新的路徑. (可能是用戶選擇要導出mdb文件的保存 ...

  3. mdb java_java从mdb文件中读出数据

    展开全部 java读Access数据库就像读其它数据库一样,mdb文件中读出数据. 参考代码如下:/** * TODO : 读取文件access * @62616964757a686964616fe5 ...

  4. java 导出mdb文件_Java中Java生成mdb文件工具类

    package com.util; /**  * Java生成mdb文件[MS Access文件]  * 1. 在ClassPath下存一个空的blank.mdb. (也就是在你的项目中包含一个空白的 ...

  5. MS Access 教程之如何将 MDB 文件转换为 SQLite 数据库

    那么如何将 MDB 文件转换为 SQLite 数据库呢?归根结底,最简单的方法是创建一个 MDB 数据库,即半自动转换其他 MDB 文件.我想要一个类似这样的面具: 但在此之前,我必须配置 PC.我从 ...

  6. VB.net数据库编程(01):简单的入门实例--连接到Access文件

    先来一个简单的实例. VB.net 2012 SQl server 2012 Access文件:http://download.csdn.net/detail/dzweather/5042992 (两 ...

  7. html连接accdb文件,解决Access连接accdb不可识别的数据库格式异常

    在Access07之前的数据库后缀名均为*.mdb 而连接字符串写成 Provider= Microsoft.Jet.OLEDB.4.0 ;Data Source=C:\myFolder\*. mdb ...

  8. access文件链接mysql,连接到 Access 数据源(SQL Server 导入和导出向导)

    2017/06/20 适用对象: SQL Server,包含 Linux 版 Azure SQL 数据库 Azure Synapse Analytics (SQL DW) 并行数据仓库 本主题介绍如何 ...

  9. CodeSmith实用技巧(八):生成的代码输出到文件中

    在CodeSmith中,要把生成的代码文件输出到文件中,你需要在自己的模版中继承OutputFileCodeTemplate类.<?xml:namespace prefix = o ns = & ...

最新文章

  1. etcd 笔记(06)— Client 结构定义、客户端(初始化、KV存储Get、Put、事务 Txn、压缩 Compact、Watch、Lease
  2. BCH涨幅超过146%,势必跟BTC争夺王位?
  3. linux 内核位置无关,Linux内核启动阶段虚实地址映射
  4. 天线巴伦制作和原理_一种基于LTCC技术的新型Marchand巴伦滤波器
  5. OpenCV 绘制几何图形
  6. MATLAB中cif用于清除什么,cifti-matlab-master 能够对MRI数据进行功能成像 - 下载 - 搜珍网...
  7. phpcmsV9 添加内容:如何“增加复选框、下拉菜单”(含案例、截图)- 教程篇
  8. oracle insert 触发器无效_分享一个超实用的Zabbix监控Oracle用户无效对象手册
  9. TF2—tf.keras.layers.BatchNormalization
  10. Elasticsearch 基于ElastAlert发送邮件报警
  11. MQTT服务器的搭建与MQTT客户端的使用
  12. 动态指针时钟:利用pyqt5制作指针钟表显示实时时间
  13. 携手业内专家赋能AI时代--EpiK铭识协议发起开源知识运动
  14. 游戏音乐制作、游戏音效制作、游戏配音【奇亿音乐】
  15. 电商平台商品订单拆分模式分析
  16. 三个案例讲解Lambda表达式
  17. 关于YouTub视频广告格式
  18. opencart之购物车立即购买
  19. Editorial Board 、co-editor、ediitor、editor-in-chief的区别
  20. 桥牌坐庄训练bm2000 level3闯关记录——A5

热门文章

  1. weka的java环境配置_Linux(ubuntu)环境下配置weka
  2. linux oa系统搭建,linux版OA系统的安装配置
  3. html 苹果桌面浮窗,苹果手机钉钉悬浮窗设置打开的方法
  4. 将项目绑定https协议
  5. python----动态规划
  6. Android官方技术文档翻译——Gradle 插件用户指南(5)
  7. webpack自定义打包命令
  8. JavaScript高级程序设计之什么是原型模式
  9. C#中double.tostring()的用法
  10. Dijkstra模板题——单源最短路径(洛谷 P3371)