2010-10-05 121 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

相關問題