Jackcess 2.x的更新:现在使用来创建(或打开)
DatabaseBuilder数据库,因此我们要创建一个新的数据库文件
import java.io.File;import java.io.IOException;import com.healthmarketscience.jackcess.Database;import com.healthmarketscience.jackcess.Database.FileFormat;import com.healthmarketscience.jackcess.DatabaseBuilder;public class JackcessDemoMain { public static void main(String[] args) { String dbPath = "C:/Users/Public/newDb.accdb"; // using try-with-resources is recommended to ensure that // the Database object will be closed properly try (Database db = DatabaseBuilder.create(FileFormat.V2010, new File(dbPath))) { System.out.println("The database file has been created."); } catch (IOException ioe) { ioe.printStackTrace(System.err); } }}Jackcess 1.x的原始答案(不建议使用):
如果要通过Java创建“ .mdb”文件,则可以使用Jackcess Java库,该库是用于读取和写入MS
Access数据库的纯Java库之一。我猜目前支持的版本包括2000-2007。请看以下示例,以更好地理解:
- 从http://jackcess.sourceforge.net/下载Jackcess Java库(jackcess-1.2.6.jar), 从http://commons.apache.org/logging/download_logging.cgi 和commons 下载commons-logging-1.1.jar。来自http://www.findjar.com/index.x?query=commons-lang的 -lang-2.0.jar
- 将两个罐子都添加到您的类路径中。
- 尝试以下代码自动创建数据库:
package com.jackcess.lib;import com.healthmarketscience.jackcess.ColumnBuilder;import com.healthmarketscience.jackcess.Database;import com.healthmarketscience.jackcess.Table;import com.healthmarketscience.jackcess.TableBuilder;import java.io.File;import java.io.IOException;import java.sql.SQLException;import java.sql.Types;public class JackcessLibrary { private static Database createDatabase(String databaseName) throws IOException { return Database.create(new File(databaseName)); } private static TableBuilder createTable(String tableName) { return new TableBuilder(tableName); } public static void addColumn(Database database, TableBuilder tableName, String columnName, Types sqlType) throws SQLException, IOException { tableName.addColumn(new ColumnBuilder(columnName).setSQLType(Types.INTEGER).toColumn()).toTable(database); } public static void startDatabaseProcess() throws IOException, SQLException { String databaseName = "C:/Users/compaq/Desktop/employeedb.mdb"; // Creating an MS Access database Database database = createDatabase(databaseName); String tableName = "Employee"; // Creating table Table table = createTable(tableName) .addColumn(new ColumnBuilder("Emp_Id").setSQLType(Types.INTEGER).toColumn()) .addColumn(new ColumnBuilder("Emp_Name").setSQLType(Types.VARCHAR).toColumn()) .addColumn(new ColumnBuilder("Emp_Employer").setSQLType(Types.VARCHAR).toColumn()) .toTable(database); table.addRow(122875, "Sarath Kumar Sivan","Infosys Limited.");//Inserting values into the table } public static void main(String[] args) throws IOException, SQLException { JackcessLibrary.startDatabaseProcess(); }}


