我正在尝试在Windows 7中访问Ms Access 2007 db trough nodejs,但即使这个简单的查询也无法正常工作。我在命令提示符下收到以下消息(这是一个翻译,原文是葡萄牙语):“对象关闭时不允许操作”。有人有什么答案吗? javascript代码如下:
var ADODB = require('node-adodb');
var connection = ADODB.open('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\teste\\dbteste.accdb;Persist Security Info=False;');
ADODB.debug = true;
connection
.query('SELECT * FROM [Tabela];')
.on('done', function (data){
console.log('Result:'.green.bold, data);
})
.on('fail', function (data){
});
谢谢!
答案 0 :(得分:0)
尝试更改connectionString:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\teste\\dbteste.accdb;Persist Security Info=False;
通过
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\teste\\dbteste.accdb;Persist Security Info=False;
另外,检查.accdb
路径是否正确。
此外,为葡萄牙语编码添加ADODB.encoding = 'iso-8859-15';
。
我不确定,但您可以简单[Tabela]
替换Tabela
。 查询结束时;
不是必需的。
答案 1 :(得分:0)
我也遇到过这个问题。这似乎是bug in node-adodb module。(最后一次见于2015年8月31日)
在链接页面中,您可以看到两个人遇到了同样的问题,node-adodb的开发人员要求他们上传示例(2015年7月17日)