簡體   English   中英

使用Java Swing應用程序與遠程數據庫連接

[英]Connection with a remote database using java swing application

我正在使用swing應用程序,該應用程序的初始部分是“用戶身份驗證” ..對於該模塊,我想對用戶進行身份驗證(驗證),但問題是我的數據庫遠程位於其他端口(不是1521) 。 每次我嘗試通過一些簡單的jdbc連接時,都會出現一個設計良好的異常來裝飾我的控制台,如下所示

“嚴重:null java.sql.SQLException:Io異常:網絡適配器無法在oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError)處的oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)建立連接.java:146)位於oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)位於oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)位於oracle.jdbc.driver.PhysicalConnection。(PhysicalConnection)的.java:414)”

在為某些Web服務制作工具時專門使用了swing的程序員可能已經屬於同一類。.請仔細考慮一下。

使用簡單的JDBC您可以連接到遠程Oracle DB。

LDAP本質上是一個大地圖,可讓您查找內容。 您不使用它來與Oracle數據庫通信,而是使用JDBC驅動程序。

您將需要一個與您的Oracle數據庫相對應的數據庫,並且有兩個選擇:

  • thin :這是純Java語言,您需要使用數據庫服務器的IP編號或DNS名稱。
  • Thick :該庫調用與SQLPLUS相同的庫,因此您可以使用與SQLPLUS中相同的數據庫名稱。

還要注意,Swing應用程序需要能夠實際通過網絡訪問數據庫才能正常工作。 通常,Oracle在端口1521上運行。這通常意味着任何非常規設置的防火牆規則。

顯然這是一個網絡問題,這意味着您無法通過網絡訪問數據庫,或者提供的URL無效。 另外,請確保您使用如下所示的內容:

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

輕型目錄訪問協議用於將用戶驗證到應用程序中,而不用於連接到數據庫。

我也有同樣的問題。 僅從Swing應用程序框架連接時,就會出現此錯誤。 我可以從PLSQL Developer連接到數據庫。 我還可以使用另一個不基於“ SwingAppliation Framework”的Java桌面應用程序連接到db。 我試圖從Task類連接到數據庫,但失敗。 在另一個有效的應用程序中,我正在使用普通的java類。 在這兩個應用程序中,我都在使用Hibernate。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM