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 驱动程序,但考虑到行为,一个可能在本地连接(客户端库充当服务器),而另一个通过服务器连接。这可能会导致以下问题:
- 不同的路径解析,因为您正在指定相对路径(除非 mydb.FDB 被定义为别名),可能文件
/Users/bla/mydb.FDB
不存在
- 访问权限不足,错误中的路径
/Users/bla/mydb.FDB
表明它是用户文件夹中的数据库,这意味着Firebird服务器进程(通常在用户[=12下运行)无法访问它=]).
我在下面附上了我的代码和错误消息。你能帮帮我吗,我找不到错误的原因。 谢谢,
// 我的代码
// 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 驱动程序,但考虑到行为,一个可能在本地连接(客户端库充当服务器),而另一个通过服务器连接。这可能会导致以下问题:
- 不同的路径解析,因为您正在指定相对路径(除非 mydb.FDB 被定义为别名),可能文件
/Users/bla/mydb.FDB
不存在 - 访问权限不足,错误中的路径
/Users/bla/mydb.FDB
表明它是用户文件夹中的数据库,这意味着Firebird服务器进程(通常在用户[=12下运行)无法访问它=]).