Сетевому адаптеру не удалось установить соединение при соединении с Oracle DB

При попытке подключиться к удаленной базе данных Oracle через JDBC я получаю следующее исключение:

java.sql.SQLRecoverableException: IO-fout: The Network Adapter could not establish the connection
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:419)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:536)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:228)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
at java.sql.DriverManager.getConnection(DriverManager.java:322)
at java.sql.DriverManager.getConnection(DriverManager.java:358)

Следующее: мои настройки:

Database: Oracle 10g Release 2 Standard Edition

JDBC library: ojdbc6.jar
JDBC driver: oracle.jdbc.driver.OracleDriver
JDBC URL: jdbc:oracle:thin:@9.2.2.2:1521:ORCL where ORCL is database's SID
JDBC User/pwd: Correct username / password

Странная проблема в том, что соединение работает нормально, когда я работаю с работы. Однако когда я пытаюсь подключиться из дома через соединение AT&T VPN, это не работает.

Я подтвердил, что могу получить доступ к IP-адресу, а также подключил IP-адрес через telnet к порту 1521, который работает нормально. Подключение к источнику данных с локального сервера приложений WebLogic также работает нормально. Кроме того, при попытке подключиться к базе данных через sqldeveloper я также могу получить доступ к базе данных.

Однако мне нужно получить доступ к базе данных из автономного приложения (в целях тестирования). У кого-нибудь есть идеи, почему возникает эта проблема? И есть ли альтернативы для подключения к удаленной базе данных Oracle, альтернативы, которые, возможно, используют sqldeveloper и weblogic?

Вот отрывок кода, пытающегося подключиться к базе данных:

public static void main(String args[]) throws ClassNotFoundException, SQLException {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@9.2.2.2:1521:ORCL", "user", "pwd");
}
18
задан user976230 20 October 2011 в 09:53
поделиться