我一直在研究一個連接到Firebird數據庫並監聽事件的程序。我試圖讓它與嵌入式數據庫一起工作。無法加載Firebird客戶端庫:Jaybird嵌入式數據庫
EventManager em = new FBEventManager(GDSType.getType("EMBEDDED"));
em.setHost("localhost");
em.setDatabase("C:\\test.fdb");
em.connect();
Exception in thread "main" java.lang.RuntimeException: Failed to initialize Jaybird native library. This is most likely due to a failure to load the firebird client library.
at org.firebirdsql.gds.impl.jni.JniGDSImpl.attemptToLoadAClientLibraryFromList(JniGDSImpl.java:106)
at org.firebirdsql.gds.impl.jni.EmbeddedGDSImpl.<init>(EmbeddedGDSImpl.java:31)
at org.firebirdsql.gds.impl.jni.EmbeddedGDSImpl.<init>(EmbeddedGDSImpl.java:21)
at org.firebirdsql.gds.impl.jni.EmbeddedGDSFactoryPlugin.getGDS(EmbeddedGDSFactoryPlugin.java:40)
at org.firebirdsql.gds.impl.GDSFactory.getGDSForType(GDSFactory.java:220)
at org.firebirdsql.event.FBEventManager.<init>(FBEventManager.java:91)
at eventhandler.FirebirdEventMaster.<init>(FirebirdEventMaster.java:42)
at eventhandler.FirebirdEventMaster.getInstance(FirebirdEventMaster.java:33)
at eventhandler.Driver.main(Driver.java:13)
多的谷歌搜索後,我已經試過......
「VM選項」: -Djava.library.path =「C:\用戶\ jrile \下載\ Jaybird -2.2.3JDK_1.6"
「火鳥」 和 「PATH」 系統變量: 「C:\ Users \用戶jrile \下載\火鳥-2.5.2.26540-0_x64_embed」
使用Windows 64位和Firebird嵌入式64位。任何幫助,將不勝感激
我不使用java/jaybird,但通常使用嵌入式,您不應該指定主機,甚至不是本地主機,只是指向數據庫的路徑。另外它被視爲連接到「完整服務器」,而不是嵌入式。 – ain
是的,我想這沒有意義,謝謝!評論說,但我仍然得到相同的錯誤。 – jongusmoe
這應該工作(雖然沒有必要設置FIREBIRD環境變量)。你確定你在64位JVM上運行嗎?另外,你如何運行你的程序(從IDE或命令行),以及PATH變量設置爲何時以及如何包含嵌入式Firebird的位置? –