11

我已经在 windows Xp 上安装了 Firebird 2.1 并使用 firebirdsql.jdbc-2.1.6 驱动程序与 java 连接。代码:

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

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

我收到以下错误:

原因:org.firebirdsql.jdbc.FBSQLException:GDS 异常。335544375。
不可用的数据库
原因:数据库不可用
org.firebirdsql.jdbc.FBDataSource.getConnection(FBDataSource.java:122) 在
org.firebirdsql.jdbc.FBDriver.connect(FBDriver.java:140) 在
java.sql.DriverManager.getConnection(DriverManager.java:525) 在
java.sql.DriverManager.getConnection(DriverManager.java:171)

请帮忙。

问题已解决:实际上我的 jar 文件有问题

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

我从火鸟官方网站下载了 jaybird-full-2.1.6.jar,问题得到了解决。

正确的网址是

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

我之前也尝试过此 URL,但由于 jar 问题,它无法正常工作。

4

6 回答 6

3

正如@Thorbjørn Ravn 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"

附录:您可能会浏览常见错误列表。此外,我的 firebird 数据库文件以 . 结尾.fdb,但常见问题解答中提到.gdb. 检查不会有什么坏处。

于 2010-08-06T15:23:16.070 回答
2

来自https://www.firebirdsql.org/file/documentation/drivers_documentation/java/faq.html#pure-java-default

默认网址格式:

"jdbc:firebirdsql://host[:port]/<database>"

已弃用,但仍支持旧版 URL 格式:

"jdbc:firebirdsql:host[/port]:<database>"

那么,正确的 URL 应该是:

"jdbc:firebirdsql://localhost:3050/C:/firebird/database/EMPLOYEE.FDB"
于 2017-03-30T14:00:34.610 回答
0

查看此站点上的文档: http ://www.firebirdsql.org/file/documentation/drivers_documentation/java/faq.html ,第 3.1 项

似乎在 [port] 之后,您必须有一个斜杠“/”或双斜杠“//”,以防您连接到 linux 服务器。

于 2014-05-29T02:41:12.457 回答
0

此驱动程序的 URL 很可能已损坏。

将实际源附加到 jar 并在 FBDataSource.getConnection(...) 中设置断点,并查看尝试建立连接时实际存在的值。

您绝对确定主机名与端口的组合与 FDB 文件的路径一致吗?

于 2010-08-06T13:42:51.037 回答
0

要连接到位于远程机器或云 (linux) 上的数据库,请使用以下链接。

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

于 2017-09-14T06:23:03.593 回答
0

你应该试试这个。它适用于我在 Windows 上。

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

还要确保将端口 3050 的例外添加到防火墙。

于 2019-04-01T11:35:40.363 回答