Создание таблицы со столбцом автоинкремента: '' не является допустимым именем

Я использую UCanAccess (4.0.2), чтобы создать новый файл с одной таблицей, например:

// Create a database + connect
DatabaseBuilder.create(FileFormat.V2010, new File(path));
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");     
conn = DriverManager.getConnection("jdbc:ucanaccess://" + path + ";singleconnection=true" ,"", ""); 

// Create table     
String sql = "CREATE TABLE Test (id AUTOINCREMENT PRIMARY KEY, value CHAR(1) NOT NULL)";
conn.createStatement().executeUpdate(sql);

Код работает, но результирующая таблица кажется неполной / некорректной. Попытка скопировать его в Access приводит к ошибке:

'' не является допустимым именем...

Не кажется большой проблемой, так как сохранение таблицы из представления проекта решает ее.

Есть идеи, почему это происходит и как этого избежать?

1 ответ

Решение

Это связано с подтвержденной проблемой с версией Jackcess 2.1.8 и старше. К Jackcess было применено исправление, которое будет включено в следующую версию (предварительно 2.1.9). После выпуска обновления UCanAccess, включающего исправление Jackcess, проблема должна исчезнуть.

Другие вопросы по тегам