gpt4 book ai didi

java - Firebird Java : GDS Exception. 335544421。连接被远程接口(interface)拒绝

转载 作者:行者123 更新时间:2023-11-30 10:24:57 25 4
gpt4 key购买 nike

我正在尝试重新设计遗留应用程序...

我已经下载并安装了:FirebirdCS-2.5.7-27050-x86_64.pkg

我已经设置了以下内容:export FIREBIRD_HOME=/Library/Frameworks/Firebird.framework/Resources导出 PATH=$PATH:$FIREBIRD_HOME/bin

我使用以下工具来测试安装:

$ isql 
Use CONNECT or CREATE DATABASE to specify a database
SQL> quit;

我可以使用 isql 连接到数据库,我可以显示表格并从中选择数据:

$ isql -user sysdba -password masterkey
Use CONNECT or CREATE DATABASE to specify a database
SQL> connect employee;
Database: employee, User: sysdba
SQL> show tables;
COUNTRY CUSTOMER
DEPARTMENT EMPLOYEE
EMPLOYEE_PROJECT JOB
PROJECT PROJ_DEPT_BUDGET
SALARY_HISTORY SALES
SQL> quit;

我也可以用gbak备份表,看来Firebird的安装不错。

但是当我尝试使用 Java 连接到 employee 数据库时,出现异常并显示以下错误消息:

org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544421. connection rejected by remote interface

Java代码:

try
{
Class.forName("org.firebirdsql.jdbc.FBDriver");
connection = DriverManager.getConnection("jdbc:firebirdsql:localhost:3050//Library/Frameworks/Firebird.framework/Resources/examples/empbuild/employee.fdb", "sysdba", "masterkey");
}
catch (Exception e)
{
e.printStackTrace();
}

我在“连接字符串”上尝试了很多变体,它们都会产生错误,所以这不是问题。

我正在使用以下 jar :

**jaybird-full-2.1.6.jar**

我在 Mac 上使用 Eclipse Helios、Java 1.6 和 OSX。

jar 版本不对吗?

还能是什么?

欢迎提出任何想法。

最佳答案

问题是您的 JDBC URL 无效,因为您正在以一种行不通的方式组合 Jaybird URL 的两种不兼容语法。正确的网址是:

"jdbc:firebirdsql://localhost:3050//Library/Frameworks/Firebird.framework/Resources/examples/empbuild/employee.fdb"

请注意,这可能仍然会失败,因为在 Firebird 配置中完全有可能不允许使用此路径进行连接。

使用问题中的 URL,您实际上是在尝试连接到相对路径 3050//Library/Frameworks/Firebird.framework/Resources/examples/empbuild/employee.fdb 上的数据库(相对于 Firebird 安装或其他一些依赖于配置的位置)。

您可以使用 ISQL 中的 connect employee 这一事实表明,您可以改用带有别名的连接 URL:

"jdbc:firebirdsql://localhost:3050/employee"

或更短(因为端口 3050 是默认端口):

"jdbc:firebirdsql://localhost/employee"

另见 JDBC URLs in the Jaybird FAQ .

我强烈建议您使用别名(如上使用 employee)连接到您的数据库,并将您的真实数据库放在 /Library/Frameworks 之外文件夹。

您确实需要更新您的 Jaybird 版本,Jaybird 2.1.6 已有 9 年历史。最新版本是 3.0.2,或者 - 如果您卡在 Java 6 - 2.2.13 上,请参阅 JDBC driver downloads on firebirdsql.org .

披露:我是 Jaybird 的开发者之一。

关于java - Firebird Java : GDS Exception. 335544421。连接被远程接口(interface)拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46446733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com