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?
Trả lời
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.
này có thể quan tâm: How to convert accdb to a postgres database
Tôi không chắc chắn nếu Wine
sẽ phù hợp, nhưng nó có thể là đáng xem.
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.
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. –
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.
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). –
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
Cf https://askubuntu.com/questions/342925/opening-an-accdb-file-in-ubuntu – Nemo