Skip to content

A node.js javascript client implementing the ADODB protocol on windows.

License

Notifications You must be signed in to change notification settings

pennyfine/node-adodb

 
 

Repository files navigation

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): 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,对于 Windows XP SP2 以上系统默认支持,其它需要自己升级,具体操作过程请参考: 如何获取 Microsoft Jet 4.0 数据库引擎的最新 Service Pack

About

A node.js javascript client implementing the ADODB protocol on windows.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%