2009-11-30 102 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