java - 使用 Java 创建 .accdb 数据库

标签 java ms-access jackcess

我尝试自动创建 .accdb 数据库,但使用 create() 函数时出现编译错误:

Library Folder

Error Overview

我使用这个答案中的代码: Create an Access database file (.mdb or .accdb) using Java

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/abdulwhab/Desktop/database/db.accdb"; // 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();
    }
}

最佳答案

您使用的是 Jackcess 的全新版本 2.1.3,而您链接的五年前的答案使用的是 1.2.6。 Jackcess 的 API 在引入版本 2 时发生了一些变化。

在您使用的版本中,数据库是通过使用构建器创建的:

DatabaseBuilder.create(FileFormat, File)

有关如何使用 Jackcess API 的更多信息,请参阅 http://jackcess.sourceforge.net/cookbook.html .

关于java - 使用 Java 创建 .accdb 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42310901/

相关文章:

java - 我无法在我的 ddms 中查看任何文件夹(或将其显示为空) - 在数据/数据处 - 即使文件路径保存到该位置

java - 如何在 Android Studio 中将 mp3/wav 音频文件转换为 Jmathstudio vector ?

java - Scala中的排序方法

vb.net - 将运行时创建的数据表保存到空 mdb

java - 简单 SQL SELECT 语句的 Jackcess 等价物

java - Spring Security OAuth Java 配置

mysql - 将表从在 MS Access 应用程序之上编写的应用程序导入到 MySQL

ms-access - 调用 RunSQL 时表已锁定或正在使用

java - 与 Jackcess 匹配的列数据子字符串

java - 如何在 Jackcess 中导入特定编码的文件?