簡體   English   中英

無法連接到遠程Oracle數據庫(11g)

[英]Can't Connect To Remote Oracle Database (11g)

我正在嘗試連接內部裝有oracle數據庫11gr2的linux計算機。 將PL / SQL開發人員與任何用戶連接都沒有問題。 不幸的是,使用我簡單的Java應用程序,不可能連接到數據庫。

這是我的Java代碼:

JAVA代碼

package oraConn;
import java.sql.*;
public class OraConn {

    public static void main(String[] args) {
    Connection connection=null;
    try {
    String driverName= "oracle.jdbc.driver.OracleDriver";
    Class.forName(driverName);
    String serverName="192.168.2.122";
    String portNumber="1521";
    String sid="sas";
    String url="jdbc:oracle:thin:@" + serverName + ":" + portNumber +":"+sid;
    String userName = "system";
    String password = "welcome";    
    connection = DriverManager.getConnection(url,userName,password);
    } catch (Exception e) {
    e.printStackTrace();

    }
}
}

當我運行此代碼塊時,出現如下異常:

java.sql.SQLException: IO Error: Connection refused 
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:489)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:553)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:254)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:528)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at oraConn.OraConn.main(OraConn.java:16)
Caused by: oracle.net.ns.NetException: Connection refused 
    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:399)
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1140)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:340)
    ... 7 more

我確定端口1521已打開,因為我可以使用PL / SQL開發人員。 我該怎么辦?

在調試器中啟動程序,然后復制url的值。 如果您無法使用PL / SQL開發人員與該URL連接,則設置URL時出錯。 更改程序以獲取與工作的PL / SQL開發人員連接中相同的URL,您應該已完成。

(這聽起來很簡單,但是上次遇到這個問題對我有用)。

暫無
暫無

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

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