与java的Firebird连接

uyhoqukh  于 2023-01-29  发布在  Java
关注(0)|答案(7)|浏览(238)

我已经在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");

我收到以下错误:

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-full-2.1.6.jar,问题得到了解决。
正确的URL为

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

我也尝试过这个网址早些时候,但它是不工作beacuse的jar问题。

egmofgnx

egmofgnx1#

正如@Thorbjørn Ravn Andersen所观察到的,您的Jaybird JDBC URL不正确,语法为jdbc:firebirdsql:[host[/port]:]<database>,您需要在host/port和数据库路径之间使用冒号,可能如下所示:

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

哎呀,我在开头的斜杠中留下了;试试这个:

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

补充:你可以浏览一下常见错误列表。另外,我的firebird数据库文件以.fdb结尾,但是FAQ提到了.gdb。检查一下也无妨。

2j4z5cfb

2j4z5cfb2#

来自www.example.comhttps://www.firebirdsql.org/file/documentation/drivers_documentation/java/faq.html#pure-java-default
默认URL格式:

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

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

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

那么,正确的URL应该是:

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

pkwftd7m3#

您的URL很可能对此驱动程序无效。
将实际的源代码附加到jar,并在FBDataSource.getConnection(...)中设置断点,然后查看在尝试建立连接时实际存在的值。
您是否绝对确定主机名和端口的组合与FDB文件的路径一致?

dl5txlt9

dl5txlt94#

查看此站点上的文档:http://www.firebirdsql.org/file/documentation/drivers_documentation/java/faq.html,项目3.1
在[port]之后,似乎必须有一个斜杠“/”或双斜杠“//”,以防连接到Linux服务器。

xzlaal3s

xzlaal3s5#

要连接到位于远程计算机或云(linux)上的数据库,请使用以下链接。
jdbc:火鸟数据库:34.212.208.251/3050:/opt/app/db/sample_training.fdb

vx6bjr1n

vx6bjr1n6#

你应该试试这个。我在Windows上用得很好。

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

此外,请确保已将端口3050的例外添加到防火墙。

yruzcnhs

yruzcnhs7#

具有指定IP、端口、数据库别名和编码的Apache Tomcat properties.xml的连接字符串示例:
<entry key="db.url">jdbc:firebirdsql:127.0.0.1/2222:my-db-alias?lc_ctype=WIN1251</entry>

相关问题