2010-10-05 156 views
0

我正在使用swing应用程序,并且应用程序的初始部分是“用户身份验证”..对于那个模块,我想验证(验证)用户,但问题在于我的数据库远程位于不同的端口(不是1521)。每次我试图通过一些简单的和简单的JDBC连接,一个精心设计的异常occures来装饰我的控制台这样的事情使用java swing应用程序连接远程数据库

“重度:空 值java.sql.SQLException:IO异常:网络适配器无法建立连接 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError。 java:255) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387) at oracle.jdbc.driver.PhysicalConnection。(PhysicalConnection.java:414)“

当他们为某些网络服务制作工具时,特意与工作人员一起工作的程序员可能已经陷入了同一类别。请考虑一下。

回答

1

使用简单JDBC您可以连接到远程oracle数据库。

+0

java.sql.SQLException:Io异常:网络适配器无法建立连接 – Aman 2010-10-05 10:21:52

+0

我试图这样做,但“java.sql。的SQLException:IO异常:网络适配器无法建立连接”是存在的,每次 – Aman 2010-10-05 10:22:19

+0

@Aman,可以ping远程Oracle数据库服务器,你可以请更新堆栈跟踪你的问题,你的代码 – 2010-10-05 10:23:54

1

LDAP本质上是一个很大的地图,可以让你查看事物。您不会使用它来与Oracle数据库对话,而是使用JDBC驱动程序。

您需要对应到Oracle数据库之一,你有两个选择:

  • :这一个是纯Java,你需要使用IP号或DNS名称的数据库服务器。
  • :这个调用与SQLPLUS相同的库,因此您可以在SQLPLUS中使用相同的数据库名称。

还要注意的是Swing应用程序需要能够真正达到通过网络数据库这个工作。通常Oracle在端口1521上运行。这通常意味着防火墙规则适用于任何不平凡的设置。

+0

非常赞赏的建议。 Thnx!是否有任何补救措施,如代理设置等。 – Aman 2010-10-05 10:59:43

+0

请编辑您的问题,包括网络细节。 – 2010-10-05 11:31:23

0

这显然是一个网络问题,这意味着你不能通过网络访问数据库,或者提供的url无效。 此外,请确保您使用的是这样的:

String driverName = "oracle.jdbc.driver.OracleDriver"; 
Class.forName(driverName); 
connection = DriverManager.getConnection(url, username, password); 

轻目录访问协议是用于验证用户到应用程序,而不是连接到数据库。

+0

我不知道很多关于LDAP,但要知道这件事情,我经历了许多教程去了,最后seted我的头脑对于LDAP ......请大家分享一些代码,我可以与LDAP使用Swing应用程序验证我的用户。 Thnaks提前 – Aman 2010-10-06 09:34:47

+0

我没有使用LDAP的代码,但我可以建议你使用LDAP来缓解你的痛苦。它被称为Apache Shiro。也许你可以看一看,看看它是否有帮助。欢呼 – virgium03 2010-10-07 07:06:43

+0

另外,您可以尝试Apache Directory Studio,它是LDAP浏览器和目录客户端。 – virgium03 2010-10-07 07:12:44

0

我也有这个相同的问题。当单独从Swing应用程序框架连接时,这个错误即将到来。我能够从PLSQL Developer连接到数据库。我也可以使用另一个不是基于“SwingAppliation Framework”的Java桌面应用程序连接到数据库。我正尝试从任务类连接到数据库,并且失败。在工作的其他应用程序中,我使用普通的Java类。在我使用Hibernate的应用程序中。

+0

我的问题已得到解决,旁路代理服务器的数据库服务器。其他应用程序不使用代理服务器,因此他们正在工作。但是,在使用Swing应用程序框架时,它向代理服务器发送请求,并阻止了通信。 – WarFox 2011-02-02 10:46:10

相关问题