node-adodb v5.0.3
node-adodb
一个用 Node.js 实现的 windows 上的 ADODB 协议。
安装
使用示例:
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
包中运行这个模块,你需要做一些修改。
- 从
asar
包中排除adodb.js
(使用electron-builder
, 可以配置extraResources
将制定文件排除在外)
"extraResources": [
{
"from": "./node_modules/node-adodb/lib/adodb.js",
"to": "adodb.js"
}
]
- 告诉
asar
从哪里运行adodb.js
(可以将配置写在Electron
的main.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';
}
5 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago