Nodejs 扫描 access 数据库有啥好的解决方案么?

发布于 1周前 作者 itying888 来自 nodejs/Nestjs

Nodejs 扫描 access 数据库有啥好的解决方案么?

项目背景是:某设备工作状态下会实时在 access 数据库中写入数据,我们的业务系统需要定时去扫描数据库取回数据。 问题是:如何能记录下上次扫描的位置?nodejs 连接 access 数据库有什么好办法?

2 回复

在写入数据的时候自己记录指针(比如时间戳、id 等)


针对Node.js扫描Access数据库的需求,以下是一些解决方案:

方案一:使用ODBC连接Access数据库

  1. 配置ODBC数据源

    • 在Windows系统中,打开odbcad32.exe,添加系统DSN或用户DSN。
    • 选择Microsoft Access Driver,并配置数据源名称、数据库路径等。
  2. Node.js代码

const odbc = require('odbc');
const db = new odbc.Database();
const dbInfo = 'DSN=your_dsn;DBQ=path_to_your_access_database;UID=sa;PWD=your_password;';

db.open(dbInfo, (err) => {
  if (err) throw err;
  const sql = 'SELECT * FROM your_table';
  db.query(sql, [], (err, results) => {
    if (err) throw err;
    console.log(results);
    db.close();
  });
});

方案二:使用ADO.js库

  1. 安装ADO.js
npm install ado
  1. Node.js代码
const ado = require('ado');
const connectionString = 'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=path_to_your_access_file.accdb;';

ado.connect(connectionString, (err, connection) => {
  if (err) throw err;
  const query = 'SELECT * FROM your_table';
  connection.query(query, (err, results) => {
    if (err) throw err;
    console.log(results);
  });
});

以上两种方案均能有效实现Node.js对Access数据库的扫描,根据具体需求和环境选择合适的方案即可。

回到顶部