2009-11-30 31 views
14

Máy phát triển mà tôi làm việc trên có hệ điều hành Ubuntu Jaunty Jackalope. Tôi đã được trình bày với dữ liệu cho một dự án tôi đang làm việc dưới dạng một tệp .accdb được tạo bởi Microsoft Access. Tôi không sở hữu bản sao của Microsoft Access. Tôi đã cài đặt Open Office và sẵn sàng cài đặt bất kỳ gói phần mềm nào có sẵn cho hệ điều hành của mình. Có cách nào tôi có thể mở hoặc chuyển đổi tệp này để tôi có thể xem và chỉnh sửa dữ liệu trên máy tính của mình không? Có định dạng nào khác mà cơ sở dữ liệu Access có thể được lưu như tôi có thể mở không?Cách mở tệp .accdb trong Ubuntu?

+0

Cf https://askubuntu.com/questions/342925/opening-an-accdb-file-in-ubuntu – Nemo

Trả lời

13

Có hai công cụ nguồn mở sẵn có tuy nhiên chúng chỉ hoạt động trên các tệp định dạng MDB. Bạn có thể yêu cầu nhà cung cấp tệp ACCDB cung cấp tệp đó cho bạn ở định dạng MDB không?

MDB Tools là tập hợp các thư viện nguồn mở và tiện ích để tạo điều kiện xuất dữ liệu từ cơ sở dữ liệu MS Access (tệp mdb) mà không cần sử dụng DLL Microsoft.

Jackcess là thư viện Java thuần túy để đọc và ghi vào cơ sở dữ liệu MS Access. Nó là một phần của dự án OpenHMS từ Health Market Science, Inc. Nó không phải là một ứng dụng. Không có GUI. Đó là một thư viện, dành cho các nhà phát triển khác sử dụng để xây dựng các ứng dụng Java. Dường như nó mới hơn nhiều so với các công cụ MDB, hoạt động tích cực hơn và có hỗ trợ ghi.

-6

Không chắc chắn nếu có bất kỳ công cụ gốc nào, nhưng bạn luôn có thể cài đặt bản sao cửa sổ và cài đặt chế độ xem miễn phí cho tệp accdb hoặc cài đặt bản dùng thử Truy cập.

+6

vâng, bạn có thể _always_ cài đặt cửa sổ. – Malfist

+0

Đây là câu trả lời đắt tiền mà tôi đã cố gắng tránh xa. – pgwillia

0

Tôi đoán bạn muốn trích xuất dữ liệu từ bảng chứ không phải mã từ mô-đun. Tôi không biết cụ thể Ubuntu nhưng tôi đoán bạn có thể kết nối với các tập tin truy cập bằng cách sử dụng một kết nối ODBC (hoặc, nếu có, kết nối OLEDB) và trích xuất dữ liệu? Tùy thuộc vào loại kết nối, bạn có thể vẫn cần phải biết tên bảng để nhập chúng.

+0

Máy bay phản lực/ACE chỉ chạy trên Windows, vì vậy bạn cần một số thư viện khác để sao chép chức năng mà Jet/ACE cung cấp. Tony đã cung cấp tất cả những gì tôi biết. –

0

Microsoft Access Runtime là một phần mềm miễn phí. Bạn có thể cài đặt nó trong Ubntu bằng cách sử dụng Wine và sau đó mở cơ sở dữ liệu accdb.

+1

Thời gian chạy cho bạn không có công cụ để chỉnh sửa cơ sở dữ liệu. Nó chỉ cho phép bạn chạy một ứng dụng được xây dựng trong Access. Ngoài ra, Wine AppDB đánh giá đầy đủ A2007 như chỉ cấp độ đồng hỗ trợ (http://appdb.winehq.org/objectManager.php?sClass=version&iId=16862), nhưng đó là cho phiên bản đầy đủ không phải là thời gian chạy (tôi giả định). –

10

Jackcess hiện hỗ trợ mọi thứ từ Access 97 (chỉ đọc), 2000, 2003, 2007 và 2010 (đọc-ghi), cả tệp .mdb và .accdb.

bán phá giá các tập tin có thể được dễ dàng như

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

(tất nhiên, bạn cần một trình biên dịch java, libcommons-logging-java, libcommons-lang-java và bạn phải vượt qua các tên tập tin accdb như tên đầu tiên và bảng là tham số thứ hai).

-Marcel