2009-11-30 3 views
14

내가 개발중인 개발 기계에는 운영 체제로 Ubuntu Jaunty Jackalope가 있습니다. Microsoft Access에서 작성한 .accdb 파일 형식으로 작업중인 프로젝트의 데이터가 표시되었습니다. Microsoft Access 복사본을 소유하고 있지 않습니다. 오픈 오피스가 설치되어 있고 내 운영 체제에서 사용할 수있는 소프트웨어 패키지를 설치하고자합니다. 컴퓨터에서 데이터를보고 편집 할 수 있도록이 파일을 열거 나 변환 할 수있는 방법이 있습니까? Access 데이터베이스를 저장할 수있는 다른 형식이 있습니까?우분투에서 .accdb 파일을 여는 방법?

+0

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

답변

13

오픈 소스 도구는 두 가지가 있지만 MDB 형식 파일에서만 작동합니다. ACCDB 파일의 공급자에게 MDB 형식으로 제공하도록 요청할 수 있습니까?

MDB Tools은 Microsoft DLL을 사용하지 않고 MS Access 데이터베이스 (mdb 파일)에서 데이터 내보내기를 용이하게하는 오픈 소스 라이브러리 및 유틸리티 세트입니다.

Jackcess은 MS Access 데이터베이스에서 읽고 쓰는 데 사용할 수있는 순수한 Java 라이브러리입니다. Health Market Science, Inc.의 OpenHMS 프로젝트의 일부입니다. 그것은 응용 프로그램이 아닙니다. GUI가 없습니다. 다른 개발자가 Java 응용 프로그램을 작성하는 데 사용하는 라이브러리입니다. 그것은 MDB 도구보다 훨씬 새로운 것으로 보이고, 더 활동적이며 쓰기 지원을합니다.

-6

네이티브 도구가 있는지 확실하지 않지만 Windows의 사본을 설치하고 accdb 파일에 대한 무료보기를 설치하거나 Access 평가판을 설치할 수 있습니다.

+6

예, 항상 Windows를 설치할 수 있습니다. – Malfist

+0

이것은 멀리 떨어져 있기 위해 노력한 값 비싼 대답입니다. – pgwillia

0

모듈의 코드가 아닌 테이블에서 데이터를 추출하고 싶습니다. 특별히 우분투는 모르지만 ODBC 연결 (또는 사용 가능한 경우 OLEDB 연결)을 사용하여 액세스 파일에 연결하고 데이터를 추출 할 수 있다고 생각하십니까? 연결 유형에 따라 가져 오기 위해 여전히 테이블 이름을 알아야 할 수도 있습니다.

+0

Jet/ACE는 Windows에서만 실행되므로 Jet/ACE에서 제공하는 기능을 복제하기 위해서는 다른 라이브러리가 필요합니다. 토니는 내가 알고있는 모든 것을 제공했다. –

0

Microsoft Access 런타임은 무료 소프트웨어입니다. Wine을 사용하여 Ubntu에 설치 한 다음 accdb 데이터베이스를 열 수 있습니다.

+1

런타임을 사용하면 데이터베이스를 편집 할 수있는 도구가 없습니다. Access로 작성된 응용 프로그램 만 실행할 수 있습니다. 또한 Wine AppDB는 A2007을 청동 지원 수준 (http://appdb.winehq.org/objectManager.php?sClass=version&iId=16862)으로 평가하지만 이는 런타임이 아닌 전체 버전 용입니다 (가정). –

10

Jackcess은 이제 .mdb 및 .accdb 파일 모두 Access 97 (읽기 전용), 2000, 2003, 2007 및 2010 (읽기 - 쓰기)의 모든 항목을 지원합니다.

파일을 덤프하는 것은 (물론, 당신은 자바 컴파일러, libcommons 로깅 - 자바, libcommons - 랭 - 자바를 필요로하고 같은 .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()); 
    } 
} 

로 할 수있다 첫 번째 및 두 번째 매개 변수로 테이블 이름).

-Marcel

관련 문제