2010-08-06 91 views
7

我已經在windows xp上安裝了Firebird 2.1並使用firebirdsql.jdbc-2.1.6驅動程序與java連接。代碼:與java的火鳥連接

Class.forName("org.firebirdsql.jdbc.FBDriver"); 

connection = DriverManager.getConnection(
    "jdbc:firebirdsql://localhost/3050//C:/firebird/database/EMPLOYEE.FDB", 
    "test","test"); 

我收到以下錯誤:

 
Caused by: org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544375. 
unavailable database 
Reason: unavailable database at 
org.firebirdsql.jdbc.FBDataSource.getConnection(FBDataSource.java:122) at 
org.firebirdsql.jdbc.FBDriver.connect(FBDriver.java:140) at 
java.sql.DriverManager.getConnection(DriverManager.java:525) at 
java.sql.DriverManager.getConnection(DriverManager.java:171) 

請幫助。

問題解決了: 其實我有jar文件的問題,我從

http://mirrors.ibiblio.org/pub/mirrors/maven2

了我下載jaybird-全2.1.6.jar從火鳥官方網站和問題得到有效解決。

正確的網址是

"jdbc:firebirdsql://localhost:3050/C:\\firebird\\database\\EMPLOYEE.FDB" 

我想這個網址也較早,但它不工作怎麼一回事,因爲罐子問題。

+0

重新格式化的代碼;如果不正確請回復。 – trashgod 2010-08-06 16:42:33

+0

感謝您的格式化! – 2010-08-06 16:56:56

+1

不要爲問題添加「問題解決」部分,而是將其作爲答案發布,然後接受它。謝謝! – bluish 2011-05-26 08:07:50

回答

0

您的網址很有可能是該驅動程序損壞的。

將實際源添加到jar並在FBDataSource.getConnection(...)中設置斷點,並查看嘗試建立連接時實際存在的值。

您是否完全確定主機名與端口的組合是否與FDB文件的路徑一致?

+0

我是absolutley確定連接參數以及FDB文件的路徑。 – 2010-08-06 13:44:42

1

As @ThorbjørnRavn Andersen指出,您的Jaybird JDBC URL不正確。語法是jdbc:firebirdsql:[host[/port]:]<database>。在主機/端口和數據庫路徑之間需要冒號。也許這樣的事情:

"jdbc:firebirdsql://localhost/3050:C:\\firebird\database\EMPLOYEE.FDB" 

哎呀,我留在領先的斜線;試試這個:

"jdbc:firebirdsql:localhost/3050:C:\\firebird\database\EMPLOYEE.FDB" 

附錄:您可以通過下面的common errors列表運行。此外,我的火鳥數據庫文件在.fdb結束,但常見問題解答提到.gdb。檢查無損傷。

+0

我已經嘗試過所有的選項,包括由您指定的網址..沒有正在工作.. – 2010-08-06 16:07:55

+0

火鳥運行在3050端口?您可以通過任何其他方式進行連接,例如isql還是一個GUI客戶端? – trashgod 2010-08-06 16:40:35

+0

我可以連接isql和flameRobin..it在3050端口上運行..我試圖創建一個新的數據庫..關閉Windows防火牆..複製系統32中的dll(在firebird支持組上指定).. – 2010-08-06 16:54:57

0

要連接到位於遠程機器或雲(linux)上的數據庫,請使用以下鏈接。

JDBC:firebirdsql:34.212.208.251/3050:/opt/app/db/sample_training.fdb