2016-04-28 129 views
3

我用这个LIB连接到嵌入式Firebird数据库: “克隆” 后嵌入式Firebird数据库

https://github.com/xdenser/node-firebird-libfbclient

“故宫安装” 我得到了以下错误消息:

con.connectSync('test.FDB','sysdba','masterkey',''); 
Error: While connecting - unsupported on-disk structure for file D:\FIREBIRD-TEST\test.FDB; found 11.2, support 12.0 

我也尝试使用旧版本的firebird(版本2.1.15)。并出现以下错误:

module.js:355 
    Module._extensions[extension](this, filename); 
          ^
Error: Das angegebene Modul wurde nicht gefunden. 
D:\firebird-test\firebird\build\Release\binding.node 
    at Error (native) 
    at Module.load (module.js:355:32) 
    at Function.Module._load (module.js:310:12) 
    at Module.require (module.js:365:17) 
    at require (module.js:384:17) 
    at Object.<anonymous> (D:\firebird-test\firebird\firebird.js:1:77) 
    at Module._compile (module.js:460:26) 
    at Object.Module._extensions..js (module.js:478:10) 
    at Module.load (module.js:355:32) 
    at Function.Module._load (module.js:310:12) 

回答

4

你得到这个错误:

unsupported on-disk structure for file D:\FIREBIRD-TEST\test.FDB; found 11.2, support 12.0

这意味着您尝试火鸟3.火鸟3打开火鸟2.5数据库(ODS 11.2)仅支持磁盘上结构(ODS)版本12.您将需要通过使用Firebird 2.5(+ Firebird 2.5 gbak)进行备份并在Firebird 3(+ Firebird 3 gbak)下进行恢复来升级数据库。另见ODS (On-Disk Structure) Changes in the Firebird 3 release notes

其他错误似乎不相关,如果我不得不猜测 - 我不知道node.js - 可能意味着您尝试了32位安装而不是64位安装(或其他方式),或者你没有使用fbembed.dll。在Firebird 3中嵌入的Firebird通过fbclient.dll + engine12.dll传递,而Firebird 2.5和更早的版本则有一个单独的fbembed.dll。

+0

谢谢马克!好的,我现在安装了版本2.5而不是3.0。现在我尝试用“lfbembed_ms.lib”替换所有“flclient_ms.lib”。但是“lib”文件夹中没有嵌入的.lib文件。 https://github.com/xdenser/node-firebird-libfbclient/blob/master/binding.gyp我在哪里可以找到图书馆? – robert

+1

据我所知,您需要使用dll,而不是.lib。否则,请检查Firebird嵌入式下载软件包。 –

+0

我刚刚发现本教程:https://groups.google.com/forum/#!msg/nodejs/IoRlz2hT24I/K0bjHT-YhKgJ我是否发现2.5版的嵌入式软件包? – robert