Socket
Socket
Sign inDemoInstall

node-adodb

Package Overview
Dependencies
3
Maintainers
2
Versions
39
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    node-adodb

A Node.js JavaScript Client implementing the ADODB protocol.


Version published
Weekly downloads
1K
increased by38.63%
Maintainers
2
Created
Weekly downloads
 

Changelog

Source

5.0.3 / 2019/09/12

  • Bump deps

Readme

Source

node-adodb

一个用 Node.js 实现的 windows 上的 ADODB 协议。

NPM Version Download Status Windows Status Test Coverage Node Version Dependencies

安装

NPM

使用示例:

ES6
'use strict';

const ADODB = require('node-adodb');
const connection = ADODB.open('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=node-adodb.mdb;');

// 不带返回的执行
connection
  .execute('INSERT INTO Users(UserName, UserSex, UserAge) VALUES ("Newton", "Male", 25)')
  .then(data => {
    console.log(JSON.stringify(data, null, 2));
  })
  .catch(error => {
    console.error(error);
  });

// 带返回标识的执行
connection
  .execute('INSERT INTO Users(UserName, UserSex, UserAge) VALUES ("Newton", "Male", 25)', 'SELECT @@Identity AS id')
  .then(data => {
    console.log(JSON.stringify(data, null, 2));
  })
  .catch(error => {
    console.error(error);
  });

// 带返回的查询
connection
  .query('SELECT * FROM Users')
  .then(data => {
    console.log(JSON.stringify(data, null, 2));
  })
  .catch(error => {
    console.error(error);
  });

// 带字段描述的查询
connection
  .schema(20)
  .then(schema => {
    console.log(JSON.stringify(schema, null, 2));
  })
  .catch(error => {
    console.error(error);
  });
ES7 async/await
'use strict';

const ADODB = require('node-adodb');
const connection = ADODB.open('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=node-adodb.mdb;');

async function query() {
  try {
    const users = await connection.query('SELECT * FROM Users');

    console.log(JSON.stringify(users, null, 2));
  } catch (error) {
    console.error(error);
  }
}

query();

接口文档:

ADODB.open(connection[, x64]): ADODB

初始化数据库链接参数。

ADODB.query(sql): Promise

执行有返回值的 SQL 语句。

ADODB.execute(sql[, scalar]): Promise

执行无返回值或者带更新统计的的 SQL 语句。

ADODB.schema(type[, criteria][, id]): Promise

查询数据库架构信息。参考: OpenSchema

调试:

设置环境变量 DEBUG=ADODB。参考: debug

扩展:

该类库理论支持 Windows 平台下所有支持 ADODB 连接的数据库,只需要更改数据库连接字符串即可实现操作!

数据库连接字符串:

  • Access 2000-2003 (*.mdb): Provider=Microsoft.Jet.OLEDB.4.0;Data Source=node-adodb.mdb;
  • Access > 2007 (*.accdb): Provider=Microsoft.ACE.OLEDB.12.0;Data Source=adodb.accdb;Persist Security Info=False; 或者   Provider=Microsoft.ACE.OLEDB.15.0;Data Source=adodb.accdb;Persist Security Info=False;

注意:

该类库需要系统支持 Microsoft.Jet.OLEDB.4.0 或者 Microsoft.ACE.OLEDB.12.0,对于 Windows XP SP2 以上系统默认支持 Microsoft.Jet.OLEDB.4.0,其它需要自己安装支持!

推荐使用 Microsoft.ACE.OLEDB.12.0,获取地址: Microsoft.ACE.OLEDB.12.0

Electron

如果你想在 ASAR 包中运行这个模块,你需要做一些修改。

  1. asar 包中排除 adodb.js(使用 electron-builder, 可以配置 extraResources 将制定文件排除在外)
"extraResources": [
  {
    "from": "./node_modules/node-adodb/lib/adodb.js",
    "to": "adodb.js"
  }
]
  1. 告诉 asar 从哪里运行 adodb.js (可以将配置写在 Electronmain.js 文件中)
// Are we running from inside an asar package ?
if (process.mainModule.filename.indexOf('app.asar') !== -1) {
  // In that case we need to set the correct path to adodb.js
  ADODB.PATH = './resources/adodb.js';
}

Keywords

FAQs

Last updated on 02 Mar 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc