Hi,
如果理解无误,这是用 Java 连接 Access 数据库。正如提示所说,对于 97 版本的支持,就是限定在“只读”模式,这是正常现象。您需要升级数据库到较新版本,哪怕2000也行。下面的代码可用于侦测版本信息。
String dbFileSpec = "C:/Users/Public/test/sample.mdb";
try (FileInputStream fis = new FileInputStream(dbFileSpec)) {
String fmt = "(unknown)";
byte[] bytes = new byte[21];
fis.read(bytes, 0, 21);
switch (bytes[20]) {
case 0x0:
fmt = "Jet 3.0 (Access 97)";
break;
case 0x1:
fmt = "Jet 4.0 (Access 2000/2003)";
break;
case 0x2:
fmt = "ACE 12.0 (Access 2007)";
break;
case 0x3:
fmt = "ACE 14.0 (Access 2010)";
break;
}
System.out.println("File format: " + fmt);
} catch (Exception e) {
System.err.println(e.getMessage());
}
Regards,
Alex