我在下面附上了我的代码和错误消息。你能帮帮我吗,我找不到弄错的原因。 谢谢,
//我的代码
// Node-Firebird
var Firebird = require('node-firebird');
// Options
var options = {};
//options.host = '127.0.0.1';
//options.port = 3050;
options.database = 'mydb.FDB';
options.user = 'SYSDBA';
options.password = 'masterkey';
// Query
Firebird.attach(options, function(err, db) {
if (err)
throw err;
// db = DATABASE
db.query('SOME QUERY', function(err, result) {
// IMPORTANT: close the connection
db.detach();
});
});
//错误消息
/Users/bla/myfile.js:14 throw err; ^错误:I / O. 期间出现错误"打开"文件操作" /Users/bla/mydb.FDB" ;,错误 在尝试打开doCallback文件时 (/Users/bla/node_modules/node-firebird/lib/index.js:1233:18)at at /Users/bla/node_modules/node-firebird/lib/index.js:2897:21 at /Users/bla/node_modules/node-firebird/lib/messages.js:151:25搜索 (/Users/bla/node_modules/node-firebird/lib/messages.js:117:13)at at /Users/bla/node_modules/node-firebird/lib/messages.js:54:21 at FSReqWrap.wrapper ascomplete
注意: 实际上,我可以使用基于c ++的驱动程序连接相同的数据库:
var fb = require("firebird");
var con = fb.createConnection();
con.connectSync('mydb.FDB', 'SYSDBA', 'masterkey', '');
var rs = con.querySync('SOME QUERY');
当我尝试通过Flamerobin连接时,它也可以完美地工作。我猜这真是奇怪的错误。还有其他建议吗?
答案 0 :(得分:2)
我不知道node-firebird驱动程序,但考虑到行为,可能是本地连接(客户端库充当服务器),而另一个通过服务器连接。这可能会导致以下问题:
/Users/bla/mydb.FDB
可能不存在/Users/bla/mydb.FDB
表明它是用户文件夹中的数据库,这意味着Firebird服务器进程无法访问它(通常在用户firebird
下运行)。