如何在Ubuntu中打开.accdb文件?

时间:2009-11-30 21:03:15

标签: database ms-access ubuntu

我工作的开发机器有Ubuntu Jaunty Jackalope作为其操作系统。我已经获得了一个项目的数据,我正在以Microsoft Access创建的.accdb文件的形式工作。我没有Microsoft Access的副本。我安装了Open Office,并愿意安装我的操作系统可用的任何软件包。有没有办法可以打开或转换这个文件,以便我可以在我的电脑上查看和编辑数据?是否有另一种格式可以将Access数据库保存为我能够打开的格式?

8 个答案:

答案 0 :(得分:15)

有两种开源工具可用,但它们只适用于MDB格式文件。您能否请求ACCDB文件的供应商以MDB格式提供给您?

MDB Tools是一组开源库和实用程序,可以在不使用Microsoft DLL的情况下从MS Access数据库(mdb文件)导出数据。

Jackcess是一个纯Java库,用于读取和写入MS Access数据库。它是Health Market Science,Inc。的OpenHMS项目的一部分。它不是一个应用程序。没有GUI。它是一个库,供其他开发人员用于构建Java应用程序。它似乎比MDB工具更新,更活跃并且具有写支持。

答案 1 :(得分:8)

我刚刚在Ubuntu 14.01 AWS EC2实例上遇到了同样的问题,我可以使用access2csv完成此任务(将.accdb文件转换为Ubuntu上的CSV)。我必须install Gitinstall Javainstall ant,但之后能够通过输入以下内容将.accdb文件转换为CSV

$ java -jar access2csv.jar myfile.accdb

它使用Jackcess,因此您可以获得相同的功能,而无需编写自己的Java代码来完成此基本任务。每个表都作为自己的CSV文件返回。

您还可以通过传递--schema选项来访问架构:

java -jar access2csv.jar myfile.accdb --schema

希望这有帮助。这当然适合我。

答案 2 :(得分:1)

这可能是有意义的:How to convert accdb to a postgres database

我不确定Wine是否合适,但值得一看。

答案 3 :(得分:1)

在Linux上查看和使用的一种很好的格式是CSV。

正如公认的答案所示,MDB Tools可以完成这项工作。要将Linux上的所有表导出为CSV格式,请尝试以下命令:

mdb-tables -d ',' database.accdb| xargs -L1 -d',' -I{} bash -c 'mdb-export database.accdb "$1" >"$1".csv' -- {}

您也可以通过WSL(在Windows上为Ubuntu或在Windows上为Debian)在Windows中使用mdbtools: 然后使用以下命令将其安装在控制台中:

sudo apt install mdbtools

答案 4 :(得分:0)

我想你想从表中提取数据,而不是从模块中提取代码。我不知道具体的Ubuntu,但我想你可以使用ODBC连接(或者,如果可用,OLEDB连接)连接到访问文件并提取数据?根据连接类型,您可能仍需要知道表名称才能导入它们。

答案 5 :(得分:0)

Microsoft Access Runtime是一款免费软件。您可以使用Wine在Ubuntu中安装它,然后打开accdb数据库。

答案 6 :(得分:0)

我找到了此博客:http://tahsinabrar.com/open-a-microsoft-access-accdb-file-in-ubuntu/ 如果链接断开,内容将显示为:

我们可以使用UCanAccess JDBC驱动程序连接到Access数据库 (.mdb和.accdb)在LibreOffice Base中。这是我干净地做的 安装Ubuntu 14.04 LTS。

首先,我自己安装了LibreOffice Base

sudo apt-get install libreoffice-base

然后我将UCanAccess下载到我的Downloads文件夹中并解压缩。

我启动了LibreOffice(不是Base,而是LibreOffice本身)

LibreOffice.png

,然后选择“工具”>“选项”

在“高级”选项卡上,我单击“班级路径…”按钮,然后添加 使用“添加存档...”按钮添加以下五(5)个JAR文件:

/home/abrar/Downloads/UCanAccess-2.0.9.5-bin/ucanaccess-2.0.9.5.jar /home/abrar/Downloads/UCanAccess-2.0.9.5-bin/lib/commons-lang-2.6.jar /home/abrar/Downloads/UCanAccess-2.0.9.5-bin/lib/commons-logging-1.1.1.jar /home/abrar/Downloads/UCanAccess-2.0.9.5-bin/lib/hsqldb.jar /home/abrar/Downloads/UCanAccess-2.0.9.5-bin/lib/jackcess-2.1.0.jar

请注意,您必须关闭并重新打开新类的LibreOffice。 路径值生效。

然后,我启动了LibreOffice Base,并在向导的第1步中选择了 “连接到现有数据库(JDBC)”

我要操作的Access文件在以下位置被命名为“ baseTest.accdb” 我的下载文件夹,因此在第2步中,“数据源URL”为

jdbc:ucanaccess:///home/abrar/Downloads/baseTest.accdb

“ JDBC驱动程序类”是

net.ucanaccess.jdbc.UcanaccessDriver

在第3步中,我将“用户名”字段留空,然后单击“下一步”

”。

在第4步中,我将LibreOffice Base数据库保存为“ accdbTest.odb” 我的文档文件夹。

向导完成后,它打开了我的LibreOffice数据库, 可以看到.accdb文件中的表格

但是您首先要从此处下载并解压缩UCANACCESS:http://ucanaccess.sourceforge.net/site.html

我可以看到LibreOffice Base中的所有表。这是一个:

tableimg

答案 7 :(得分:-7)

我不确定是否有任何本机工具,但您可以随时安装Windows副本并为accdb文件安装免费视图或安装Access试用版。