2009-11-30 60 views
14

我工作的开发机器有Ubuntu Jaunty Jackalope作为它的操作系统。我已经以Microsoft Access创建的.accdb文件的形式介绍了我正在处理的项目的数据。我不拥有Microsoft Access的副本。我确实安装了Open Office,并愿意安装可用于我的操作系统的任何软件包。有没有办法打开或转换此文件,以便我可以在计算机上查看和编辑数据? Access数据库是否可以保存另一种格式,因为我可以打开它?如何在Ubuntu中打开.accdb文件?

+0

Cf https://askubuntu.com/questions/342925/opening-an-accdb-file-in-ubuntu – Nemo 2018-02-06 15:40:06

回答

13

有两种可用的开源工具,但它们只能用于MDB格式文件。你可以要求ACCDB文件的供应商以MDB格式给你吗?

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

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

-6

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

+6

是的,你可以_always_安装windows。 – Malfist 2009-11-30 21:29:58

+0

这是我试图远离的昂贵的答案。 – pgwillia 2009-12-02 17:06:16

0

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

+0

Jet/ACE只能在Windows上运行,因此您需要一些其他库来复制Jet/ACE提供的功能。托尼提供了我所知道的所有信息。 – 2009-12-01 22:09:47

0

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

+1

运行时不提供编辑数据库的工具。它只允许您运行使用Access构建的应用程序。此外,Wine AppDB将A2007评为全铜级别的支持(http://appdb.winehq.org/objectManager.php?sClass=version&iId=16862),但这是完整版本而不是运行时(我认为)。 – 2010-07-01 23:50:05

10

Jackcess现在支持Access 97(只读),2000,2003,2007和2010(读写),.mdb和.accdb文件中的所有内容。

转储文件可以是那么容易,因为

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()); 
    } 
} 

(当然,你需要一个Java编译器,libcommons日志记录的Java,libcommons琅的Java,你必须通过.ACCDB文件名作为第一个和表名作为第二个参数)。

-Marcel