How to open an .accdb file in Ubuntu?
There are two open source tools available however they only work on MDB format files. Can you ask the supplier of the ACCDB file to give it to you in MDB format?
MDB Tools is a set of open source libraries and utilities to facilitate exporting data from MS Access databases (mdb files) without using the Microsoft DLLs.
Jackcess is a pure Java library for reading from and writing to MS Access databases. It is part of the OpenHMS project from Health Market Science, Inc. . It is not an application. There is no GUI. It's a library, intended for other developers to use to build Java applications. It appears to be much newer than MDB tools, is more active and has write support.
Jackcess now supports everything from Access 97 (read-only), 2000, 2003, 2007, and 2010 (read-write), both .mdb and .accdb files.
Dumping the file can be as easy as
import com.healthmarketscience.jackcess.*;
import java.io.*;
public class AccessExport {
public static void main(String []args) throws IOException {
System.out.println(Database.open(new File(args[0])).getTable(args[1]).display());
}
}
(of course, you need a java compiler, libcommons-logging-java, libcommons-lang-java and you have to pass the .accdb filename as the first and the table name as the second parameter).
-Marcel
A good format to view and work with on Linux would be CSV.
As the accepted answer suggests MDB Tools does the job. To export all the tables on Linux to CSV format try this command:
mdb-tables -d ',' database.accdb| xargs -L1 -d',' -I{} bash -c 'mdb-export database.accdb "$1" >"$1".csv' -- {}
You can use mdbtools
also into windows via WSL (Ubuntu on Windows or Debian on Windows):
Then install it in console with:
sudo apt install mdbtools
I just had this same problem on an Ubuntu 14.01 AWS EC2 instance and I was able to accomplish this task (convert .accdb
file to CSV on Ubuntu) by using access2csv. I had to install Git, install Java, and install ant, but then was able to convert the .accdb
files I had to CSV
by typing:
$ java -jar access2csv.jar myfile.accdb
It uses Jackcess so you get the same functionality without having to write your own Java code to accomplish this basic task. Each table is returned as its own CSV
file.
You can also access the schema by passing the --schema
option:
java -jar access2csv.jar myfile.accdb --schema
Hope this is helpful. It certainly was for me.