`
lzkyo
  • 浏览: 466164 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java生成mdb文件(MS Access文件)

    博客分类:
  • Java
阅读更多
  • 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;   
    }   
       
       
    /**  
     * <p>Description: 设置待保存的新的mdb文件路径和名</p>  
     */  
    public void setSavedFilePathAndName(String newFilePathAndName) {   
        this.savedMdbFilePathAndName = newFilePathAndName;   
    }   
       
    /**  
     * <p>Description: 删除已经存在的mdb文件</p>  
     */  
    public void deleteOldMdbFile() throws Exception {   
        File oldTargetFile = new File(savedMdbFilePathAndName);   
        if (oldTargetFile.exists()) {   
            oldTargetFile.delete();   
        }   
    }   
  
    /**  
     * <p>Description: 将空白mdb文件拷贝到特定目录</p>  
     */  
    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();   
    }   
  
    /**  
     * <p>Description: 打开对mdb文件的jdbc-odbc连接</p>  
     */  
    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();   
    }   
  
    /**  
     * <p>Description: 执行特定sql语句</p>  
     */  
    private void executeSql(String sql) throws Exception {   
        statement.execute(sql);   
    }   
  
    /**  
     * <p>Description: 关闭连接</p>  
     */  
    public void closeConnection() throws Exception {   
        statement.close();   
        connection.close();   
    }   
  
}  

 

分享到:
评论
1 楼 jaychang 2011-01-10  
[/color][color=black][color=oliv[size=small][/size]e][/color ]

相关推荐

    mdb-json:用于将 Ms Access Mdbs 转换为 json 的简单 Scala 库

    **mdb-json:将Ms Access MDB转换为JSON的Scala库** `mdb-json`是一个基于Scala的轻量级库,专门设计用于将Microsoft Access的.MDB数据库文件转换为JSON格式。这个库提供了一个方便的方法,使数据从Access数据库...

    JSP连接access学生管理系统

    首先,确保你的项目中包含了Access的JDBC驱动,如"ucanaccess",它是一个开源的JDBC-ODBC桥,允许Java应用程序通过JDBC访问MS Access数据库。 2. 数据库连接 在JSP中,你可以使用以下代码来创建数据库连接: ```...

    HMS.rar_hospital_hospital managment

    2. **数据库文件**:可能有一个或多个.MDB文件,这是MS-Access数据库的扩展名,用于存储医院的各类数据。 3. **配置文件**:如web.xml,定义了Web应用的配置信息,包括JSP页面的映射、初始化参数等。 4. **资源文件*...

    Asp导出Access数据库并创建表及插入数据源码

    此案例源于一位主要熟悉Java和C#的开发者的实际工作需求。 #### ASP简介 ASP(Active Server Pages)是一种服务器端脚本环境,用于创建动态交互式网页。它支持VBScript或JScript作为脚本语言,并且可以利用COM组件...

    网管教程 从入门到精通软件篇.txt

    CPI:Microsoft MS-DOS代码页信息文件 CPL:控制面板扩展名,Corel颜色板 CPP:C++代码文件 CPR:Corel提供说明书文件 CPT:Corel 照片-绘画图像 CST:Macromedia Director Cast文件 CUR:Windows光标文件 D ...

    超级有影响力霸气的Java面试题大全文档

    超级有影响力的Java面试题大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。...

    数据库工具 bdb v3.6 +界面预览 (dbbuilder )

    支持Oracle,MS SQLServer,Access,MySQL,SQLAnyWhere和Sybase数据库。 您可以通过BDB来简化软件开发和部署过程: 1,数据库设计。 通过BDB快速建立数据库模型。支持正向工程和反向工程, 以及数据库模型和...

    WEB应用中报表打印的实现

    1. 创建一个名为`user.mdb`的Access数据库,包含`username`、`name`和`sex`字段的`user`表。 2. 创建一个`aspreport.asp`文件,使用ADO连接数据库,打开记录集,并将数据填充到HTML表格中。通过设置响应头,浏览器将...

    2021-2022计算机二级等级考试试题及答案No.3005.docx

    - **详细解析**:Access数据库文件的标准扩展名为`.mdb`(旧版本)或`.accdb`(新版本)。 #### 题目18:键盘连接 - **知识点**:键盘的连接接口。 - **详细解析**:键盘通常通过串行接口连接到计算机上,早期的PC...

    2021-2022计算机二级等级考试试题及答案No.1445.docx

    - **MDB**是Microsoft Access数据库文件的标准扩展名,用于存储表、查询、窗体、报表和其他数据库对象。 #### 7. PowerPoint 打包功能 - **打包**是指将演示文稿及其依赖资源(如图片、视频、字体等)一起保存到一...

    javascript asp教程Recordset记录

    在这个特定的教程中,数据库是一个MS Access 2000文件,名为htmlColor.mdb,包含一个名为colorChart的表,有三列:ID、colorName和hexValue。示例代码展示了如何使用Recordset遍历这些记录。首先,通过创建和打开...

Global site tag (gtag.js) - Google Analytics