Firebird 数据库连接错误

Connection Error to Firebird DB

我在下面附上了我的代码和错误消息。你能帮帮我吗,我找不到错误的原因。 谢谢,

// 我的代码

 // 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; ^ Error: I/O error during "open" operation for file "/Users/bla/mydb.FDB", Error while trying to open file at doCallback (/Users/bla/node_modules/node-firebird/lib/index.js:1233:18) at /Users/bla/node_modules/node-firebird/lib/index.js:2897:21 at /Users/bla/node_modules/node-firebird/lib/messages.js:151:25 at search (/Users/bla/node_modules/node-firebird/lib/messages.js:117:13) at /Users/bla/node_modules/node-firebird/lib/messages.js:54:21 at FSReqWrap.wrapper as oncomplete

注意: 实际上,我可以使用基于 C++ 的驱动程序连接同一个数据库:

var fb  = require("firebird");
var con = fb.createConnection();
con.connectSync('mydb.FDB', 'SYSDBA', 'masterkey', '');
var rs = con.querySync('SOME QUERY'); 

当我尝试通过 Flamerobin 连接时,它也能正常工作。我猜这真是一个奇怪的错误。还有其他建议吗?

我不知道 node-firebird 驱动程序,但考虑到行为,一个可能在本地连接(客户端库充当服务器),而另一个通过服务器连接。这可能会导致以下问题:

  1. 不同的路径解析,因为您正在指定相对路径(除非 mydb.FDB 被定义为别名),可能文件 /Users/bla/mydb.FDB 不存在
  2. 访问权限不足,错误中的路径/Users/bla/mydb.FDB表明它是用户文件夹中的数据库,这意味着Firebird服务器进程(通常在用户[=12下运行)无法访问它=]).