我工作的开发机器有Ubuntu Jaunty Jackalope作为其操作系统。我已经获得了一个项目的数据,我正在以Microsoft Access创建的.accdb文件的形式工作。我没有Microsoft Access的副本。我安装了Open Office,并愿意安装我的操作系统可用的任何软件包。有没有办法可以打开或转换这个文件,以便我可以在我的电脑上查看和编辑数据?是否有另一种格式可以将Access数据库保存为我能够打开的格式?
答案 0 :(得分:15)
有两种开源工具可用,但它们只适用于MDB格式文件。您能否请求ACCDB文件的供应商以MDB格式提供给您?
MDB Tools是一组开源库和实用程序,可以在不使用Microsoft DLL的情况下从MS Access数据库(mdb文件)导出数据。
Jackcess是一个纯Java库,用于读取和写入MS Access数据库。它是Health Market Science,Inc。的OpenHMS项目的一部分。它不是一个应用程序。没有GUI。它是一个库,供其他开发人员用于构建Java应用程序。它似乎比MDB工具更新,更活跃并且具有写支持。
答案 1 :(得分:8)
我刚刚在Ubuntu 14.01 AWS EC2实例上遇到了同样的问题,我可以使用access2csv完成此任务(将.accdb
文件转换为Ubuntu上的CSV)。我必须install Git,install Java和install ant,但之后能够通过输入以下内容将.accdb
文件转换为CSV
:
$ java -jar access2csv.jar myfile.accdb
它使用Jackcess,因此您可以获得相同的功能,而无需编写自己的Java代码来完成此基本任务。每个表都作为自己的CSV
文件返回。
您还可以通过传递--schema
选项来访问架构:
java -jar access2csv.jar myfile.accdb --schema
希望这有帮助。这当然适合我。
答案 2 :(得分:1)
这可能是有意义的:How to convert accdb to a postgres database
我不确定Wine
是否合适,但值得一看。
答案 3 :(得分:1)
在Linux上查看和使用的一种很好的格式是CSV。
正如公认的答案所示,MDB Tools可以完成这项工作。要将Linux上的所有表导出为CSV格式,请尝试以下命令:
mdb-tables -d ',' database.accdb| xargs -L1 -d',' -I{} bash -c 'mdb-export database.accdb "$1" >"$1".csv' -- {}
您也可以通过WSL(在Windows上为Ubuntu或在Windows上为Debian)在Windows中使用mdbtools
:
然后使用以下命令将其安装在控制台中:
sudo apt install mdbtools
答案 4 :(得分:0)
我想你想从表中提取数据,而不是从模块中提取代码。我不知道具体的Ubuntu,但我想你可以使用ODBC连接(或者,如果可用,OLEDB连接)连接到访问文件并提取数据?根据连接类型,您可能仍需要知道表名称才能导入它们。
答案 5 :(得分:0)
Microsoft Access Runtime是一款免费软件。您可以使用Wine在Ubuntu中安装它,然后打开accdb数据库。
答案 6 :(得分:0)
我找到了此博客:http://tahsinabrar.com/open-a-microsoft-access-accdb-file-in-ubuntu/ 如果链接断开,内容将显示为:
我们可以使用UCanAccess JDBC驱动程序连接到Access数据库 (.mdb和.accdb)在LibreOffice Base中。这是我干净地做的 安装Ubuntu 14.04 LTS。
首先,我自己安装了LibreOffice Base
sudo apt-get install libreoffice-base
然后我将UCanAccess下载到我的Downloads文件夹中并解压缩。
我启动了LibreOffice(不是Base,而是LibreOffice本身)
LibreOffice.png
,然后选择“工具”>“选项”
在“高级”选项卡上,我单击“班级路径…”按钮,然后添加 使用“添加存档...”按钮添加以下五(5)个JAR文件:
/home/abrar/Downloads/UCanAccess-2.0.9.5-bin/ucanaccess-2.0.9.5.jar /home/abrar/Downloads/UCanAccess-2.0.9.5-bin/lib/commons-lang-2.6.jar /home/abrar/Downloads/UCanAccess-2.0.9.5-bin/lib/commons-logging-1.1.1.jar /home/abrar/Downloads/UCanAccess-2.0.9.5-bin/lib/hsqldb.jar /home/abrar/Downloads/UCanAccess-2.0.9.5-bin/lib/jackcess-2.1.0.jar
请注意,您必须关闭并重新打开新类的LibreOffice。 路径值生效。
然后,我启动了LibreOffice Base,并在向导的第1步中选择了 “连接到现有数据库(JDBC)”
我要操作的Access文件在以下位置被命名为“ baseTest.accdb” 我的下载文件夹,因此在第2步中,“数据源URL”为
jdbc:ucanaccess:///home/abrar/Downloads/baseTest.accdb
“ JDBC驱动程序类”是
net.ucanaccess.jdbc.UcanaccessDriver
在第3步中,我将“用户名”字段留空,然后单击“下一步”
”。
在第4步中,我将LibreOffice Base数据库保存为“ accdbTest.odb” 我的文档文件夹。
向导完成后,它打开了我的LibreOffice数据库, 可以看到.accdb文件中的表格
但是您首先要从此处下载并解压缩UCANACCESS:http://ucanaccess.sourceforge.net/site.html
我可以看到LibreOffice Base中的所有表。这是一个:
答案 7 :(得分:-7)
我不确定是否有任何本机工具,但您可以随时安装Windows副本并为accdb文件安装免费视图或安装Access试用版。