mdb java_Java生成mdb文件(MS Access文件)
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文件)相关推荐
- java 导出mdb文件_Java生成mdb文件[MS Access文件](转载)
public class AccessUtil { private Connection connection; private Statement statement; // 空白mdb文件路径. ...
- java mdb文件_Java生成mdb文件[MS Access文件] | 學步園
1. 在ClassPath下存一個空的blank.mdb. (也就是在你的項目中包含一個空白的.mdb文件) 2. 將項目中的blank.mdb另存到新的路徑. (可能是用戶選擇要導出mdb文件的保存 ...
- mdb java_java从mdb文件中读出数据
展开全部 java读Access数据库就像读其它数据库一样,mdb文件中读出数据. 参考代码如下:/** * TODO : 读取文件access * @62616964757a686964616fe5 ...
- java 导出mdb文件_Java中Java生成mdb文件工具类
package com.util; /** * Java生成mdb文件[MS Access文件] * 1. 在ClassPath下存一个空的blank.mdb. (也就是在你的项目中包含一个空白的 ...
- MS Access 教程之如何将 MDB 文件转换为 SQLite 数据库
那么如何将 MDB 文件转换为 SQLite 数据库呢?归根结底,最简单的方法是创建一个 MDB 数据库,即半自动转换其他 MDB 文件.我想要一个类似这样的面具: 但在此之前,我必须配置 PC.我从 ...
- VB.net数据库编程(01):简单的入门实例--连接到Access文件
先来一个简单的实例. VB.net 2012 SQl server 2012 Access文件:http://download.csdn.net/detail/dzweather/5042992 (两 ...
- html连接accdb文件,解决Access连接accdb不可识别的数据库格式异常
在Access07之前的数据库后缀名均为*.mdb 而连接字符串写成 Provider= Microsoft.Jet.OLEDB.4.0 ;Data Source=C:\myFolder\*. mdb ...
- access文件链接mysql,连接到 Access 数据源(SQL Server 导入和导出向导)
2017/06/20 适用对象: SQL Server,包含 Linux 版 Azure SQL 数据库 Azure Synapse Analytics (SQL DW) 并行数据仓库 本主题介绍如何 ...
- CodeSmith实用技巧(八):生成的代码输出到文件中
在CodeSmith中,要把生成的代码文件输出到文件中,你需要在自己的模版中继承OutputFileCodeTemplate类.<?xml:namespace prefix = o ns = & ...
最新文章
- etcd 笔记(06)— Client 结构定义、客户端(初始化、KV存储Get、Put、事务 Txn、压缩 Compact、Watch、Lease
- BCH涨幅超过146%,势必跟BTC争夺王位?
- linux 内核位置无关,Linux内核启动阶段虚实地址映射
- 天线巴伦制作和原理_一种基于LTCC技术的新型Marchand巴伦滤波器
- OpenCV 绘制几何图形
- MATLAB中cif用于清除什么,cifti-matlab-master 能够对MRI数据进行功能成像 - 下载 - 搜珍网...
- phpcmsV9 添加内容:如何“增加复选框、下拉菜单”(含案例、截图)- 教程篇
- oracle insert 触发器无效_分享一个超实用的Zabbix监控Oracle用户无效对象手册
- TF2—tf.keras.layers.BatchNormalization
- Elasticsearch 基于ElastAlert发送邮件报警
- MQTT服务器的搭建与MQTT客户端的使用
- 动态指针时钟:利用pyqt5制作指针钟表显示实时时间
- 携手业内专家赋能AI时代--EpiK铭识协议发起开源知识运动
- 游戏音乐制作、游戏音效制作、游戏配音【奇亿音乐】
- 电商平台商品订单拆分模式分析
- 三个案例讲解Lambda表达式
- 关于YouTub视频广告格式
- opencart之购物车立即购买
- Editorial Board 、co-editor、ediitor、editor-in-chief的区别
- 桥牌坐庄训练bm2000 level3闯关记录——A5
热门文章
- weka的java环境配置_Linux(ubuntu)环境下配置weka
- linux oa系统搭建,linux版OA系统的安装配置
- html 苹果桌面浮窗,苹果手机钉钉悬浮窗设置打开的方法
- 将项目绑定https协议
- python----动态规划
- Android官方技术文档翻译——Gradle 插件用户指南(5)
- webpack自定义打包命令
- JavaScript高级程序设计之什么是原型模式
- C#中double.tostring()的用法
- Dijkstra模板题——单源最短路径(洛谷 P3371)