node.js - 在带有 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);
});
解决方案
没有。
Access 运行时(以及数据库引擎和完整的应用程序)仅与 Windows 兼容,并且除非 Wine 的东西/其他不适合生产的技巧,否则它将无法正常工作。
有第三方的 ODBC/JDBC 驱动程序可以在 Linux 上运行,但没有来自 Microsoft 的官方驱动程序。
我的建议是:要么不要在 Linux 上使用 Access(最好),要么尝试使用 JDBC 包装器(不附属)的 UCanAccess。请注意,accdb 文件格式已更改多次,因此如果您不使用积极维护的产品,您可能会遇到麻烦/不兼容。
推荐阅读
- scripting - 有没有办法使用脚本/补丁编辑器动态更改对象的材质?- Spark AR / 反应式 Javascript
- kubernetes - 如何将 mariadb 暴露在 pod 和远程多余部分之外
- python-3.x - Peewee 3 - 排序和递归公用表表达式 (cte)
- excel - VBA Excel,永久保存/更新文本框输入
- django - Django一个字段和多个Formset
- azure-data-factory - 无法打开 ADFv2 映射数据流的调试
- javascript - 将对象数组拆分为 2 小时跨度组
- python - 熊猫数据框根据另一列的值填充一列的数组值
- r - 单击 r shiny 中的禁用按钮时弹出
- openid-connect - 发送 responseType = 'id_token' 时在 OIDC 中将 id_token 设为 null