Search code examples
javams-accessjackcess

"does not support writing" IOException when opening Access 97 .mdb file with Jackcess


I need to open an .mdb file to recover some genealogy data.

I try Jackacess 2.1.5 but I get the following java.io.IOException:

file format [V1997 [VERSION_3]] does not support writing for Genealogy.mdb

How can I avoid this?


Solution

  • You will get that exception with an Access_97 database file if you try to do

    Database db = DatabaseBuilder.open(new File(dbPath));
    

    but you can avoid the exception if you do this instead

    Database db = new DatabaseBuilder()
            .setFile(new File(dbPath))
            .setReadOnly(true)
            .open();
    

     

    Update: This should no longer be an issue. Using the static .open(file) method, Jackcess 2.1.6 and later will simply open the Access 97 database file as read-only instead of throwing an exception.