如何使用UCanAccess更改表


问题内容

我正在使用UCanAccess JDBC驱动程序(版本3.0.3.1)连接到mdb文件。我需要将该列添加到现有表中。问题是该语句

ALTER TABLE TEmployee ADD COLUMN NotificationsEnabled BINARY

引发异常:

net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.x.x Feature not supported yet.

似乎没有新版本的UCanAccess。

在这种情况下我该怎么办?由于多种原因,我不想使用ODBC驱动程序(在此进行说明-
从不使用ODBC的Java中操作Access数据库)

我看到的唯一解决方案是创建表的副本(例如TEmployeeBackup)以保存数据,然后删除并使用新字段重新创建原始表,然后将数据从TEmployeeBackup移回TEmployee。但是这种解决方案对我来说似乎很糟糕。


问题答案:

UCanAccess 4.0.0及更高版本现在支持ALTER TABLE,例如,

Statement stmt = conn.createStatement();
stmt.execute("ALTER TABLE TableName ADD COLUMN newCol LONG");