首页 > 解决方案 > 在带有 Node.js 的 Linux 服务器上使用 Microsoft 访问数据库 .accdb

问题描述

所以,我很容易在 Windows 上工作,这并不奇怪。但我更关心在生产 linux 服务器上运行它。

有没有办法让 Access Runtime 2013 在基于 linux 的系统上工作,而不会抛出一些奇怪的方法。如果没有,那么我将不得不重新考虑我的计划。

就像代码库一样,这就是我正在做的事情:

const ADODB = require('node-adodb');
ADODB.debug = true;
//Bring in LUT Database
const LUTDB = ADODB.open(
  'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database1.accdb;Persist Security Info=False'
);
LUTDB.query('SELECT * FROM Table1')
  .then(data => {
    console.log(data);
  })
  .catch(err => {
    console.log(err);
  });

标签: node.jsms-access

解决方案


没有。

Access 运行时(以及数据库引擎和完整的应用程序)仅与 Windows 兼容,并且除非 Wine 的东西/其他不适合生产的技巧,否则它将无法正常工作。

有第三方的 ODBC/JDBC 驱动程序可以在 Linux 上运行,但没有来自 Microsoft 的官方驱动程序。

我的建议是:要么不要在 Linux 上使用 Access(最好),要么尝试使用 JDBC 包装器(不附属)的 UCanAccess。请注意,accdb 文件格式已更改多次,因此如果您不使用积极维护的产品,您可能会遇到麻烦/不兼容。


推荐阅读