Создание таблицы со столбцом автоинкремента: '' не является допустимым именем
Я использую 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, проблема должна исчезнуть.