2016-04-28 14 views
3

Ich benutze diese lib eingebettete Firebird-Datenbank zu verbinden:Embedded Firebird-Datenbank

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

nach "Klonen" und "npm installieren" i die folgende Fehlermeldung bekam:

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 

I versuche auch eine ältere Version von Firebird (Version 2.1.15) zu verwenden. Mit dem folgenden Fehler:

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) 

Antwort

4

Sie diesen Fehler erhalten:

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

Dies bedeutet, dass Sie eine Datenbank Firebird 2.5 (ODS 11.2) auf Firebird 3. Firebird 3 zu öffnen versuchen, unterstützen nur On-Disk Struktur (ODS) Version 12. Sie müssen Ihre Datenbank aktualisieren, indem Sie sie mit Firebird 2.5 (+ Firebird 2.5 gbak) sichern und unter Firebird 3 (+ Firebird 3 gbak) wiederherstellen. Siehe auch ODS (On-Disk Structure) Changes in the Firebird 3 release notes.

Der andere Fehler scheint nicht verwandt, und wenn ich raten müsste - ich weiß node.js nicht - könnte bedeuten, dass Sie eine 32-Bit-Installation anstelle einer 64-Bit-Installation (oder umgekehrt) versucht, oder dass du fbembed.dll nicht benutzt hast. In Firebird 3 wird Firebird embedded durch fbclient.dll + engine12.dll geliefert, während Firebird 2.5 und früher eine separate fbembed.dll hatte.

+0

Danke! Ok, ich habe jetzt Version 2.5 statt 3.0 installiert. Jetzt versuche ich alle "flclient_ms.lib" durch "lfbembed_ms.lib" zu ersetzen. Aber es gibt noch embedded.lib im "lib" -Ordner. https://github.com/xdenser/node-firebird-libfbclient/blob/master/binding.gyp Wo finde ich die Bibliothek? – robert

+1

Sie müssen die DLL verwenden, nicht die .lib, soweit ich weiß. Andernfalls prüfen Sie das eingebettete Firebird-Download-Paket. –

+0

Ich habe gerade dieses Tutorial gefunden: https://groups.google.com/forum/#!msg/nodejs/IoRlz2hT24I/K0bjHT-YhKgJ Wurde ich das eingebettete Paket für Version 2.5 gefunden? – robert