在Linux中填充一个MS Access数据库

有没有办法从Linux内部创build一个Access / Jet数据库?

我试图从一个Linux应用服务器(MySQL后端)提供数据,还没有find任何工具,让我这样做 – 似乎应该有一些东西。

如果我不能创build数据库,有没有办法从Linux内部插入现有的Access数据库文件?

CLI工具,包装到SQL命令文件,C库,Ruby库,什么?

谢谢。

有一个名为jackcess的java库,可以从任何可运行jvm的平台写入Access mdb文件。

EasySoft有一个ODBC驱动程序,可用于将数据插入到现有的MS Access数据库中。

如果可以的话,我会交换Access for SQL server Express (免费下载),然后您可以使用FreeTDS ODBC驱动程序来从Linux或其他可用的商业ODBC驱动程序之一来从Linux访问MS SQL server。

可能是一个愚蠢的问题,但为什么访问? 我不得不假定这个数据需要在某个时候进入Windows? 解决这个问题可能还有其他方法。 如果访问数据库将在内部使用,您可以设置一个连接到MySQL的Windows上运行的Access并获取数据的方式..如果数据文件将被断开,你可以尝试创建一个逗号分隔文本文件与数据,但给它一个.xls扩展名 – 在一台Windows机器上,这将导致它在Excel中打开,许多用户可以使用。

在Linux上创建MS Access数据库可以在Windows上完成。

  1. 在Linux上设置SMB共享
  2. 在Windows上创建映射驱动器到您的SMB共享
  3. 创建一个Access数据库3.1如果你已经安装了MS Access,你可以简单地在共享上创建一个新的数据库。 3.2如果你没有安装MS Access,但是你在Windows上有一个MS Access ODBC驱动程序,那么只需创建一个新的Microsoft Access ODBC数据源 – 这将为你提供创建数据库的选项。

然后,您可以使用Easysoft Access ODBC Driver将数据写入数据库。

或者,您可以使用其他Easysoft工具Easysoft ODBC-ODBC Bridge 。 这可以让你保持Access数据库在Windows上,但让你从你的Linux应用程序进行ODBC调用。

  1. 如果你想从头创建一个访问数据库(mdb文件),你需要一些微软Office dll,所以我想你可以把它忘掉。

  2. 如果您的想法是在Access mdb文件中插入/处理数据,则需要使用特定的驱动程序来连接您要使用的连接。 我想你的选择将基本上在ODBC和OLEDB之间。 然后你可以使用这个连接来修改你的数据(INSERT,UPDATE,DELETE),提取它(SELECT)甚至通过DDL指令(CREATE,DROP等)操作你的数据库结构。

为什么不使用Web服务? 您可以在Windows计算机上运行ASP(或其他)服务,并且可以使用ODBC构建所需的.mdb文件。 然后,您的Linux应用程序可以上传原始数据并接收.mdb作为响应。

或者,也可以在Windows上运行整个脚本。 您可以安装cygwin和/或ActiveSate perl,并从那里访问Windows ODBC驱动程序(包括Access)。

在Windows中编辑访问数据库是否可行,以便使用链接表连接到外部文本文件,XML文件,HTML文档等?

在Office2007中使用“外部数据”选项卡,然后选择“文本文件”,“XML文件”等。只要确保您选择单选按钮“通过创建链接表链接到数据源”。 如果您首先删除现有表并创建具有相同名称的链接表,则可能会使应用程序通过以代理身份通过Access查看文本文件。

通过这种方式,您可以轻松地从您的Linux应用程序更新外部文件,并且您的应用程序在与访问数据库交互时应该可以看到该数据。

您可以使用Crossover Office在Linux系统上运行Access 2002,并通过脚本将其自动化。 (例如,您可以使用CrossOver下的wscript.exe编写一些VBScript并执行它。)

最近,我正在为一些数据库自己做这个,而且效果很好。 给我发电子邮件,如果你需要一些帮助设置它。

MDB工具提供:

  • 一个C库
  • 一套命令行工具
  • 一个ODBC驱动程序[unixODBC](用于http://www.unixodbc.org/ ),它又有其他语言的包装器

它是免费的,开源的。

有没有办法从Linux内部创建一个Access / Jet数据库?

绝对。 UCanAccess是一个免费的开放源代码的纯Java JDBC驱动程序,可以在运行Java的任何机器上创建/读取/写入Access 2000+数据库(只读Access 97)。 有关如何使用Java的更多信息可以在这里找到:

在没有ODBC的情况下从Java操作Access数据库

如果你愿意使用Python,那么你可以使用UCanAccess和Jython或JayDeBeApi,如我在这里的答案所示。