Соединение с удаленной базой данных с помощью Java-приложения Swing - PullRequest
0 голосов
/ 05 октября 2010

Я работаю с Swing-приложением, и начальная часть приложения - «аутентификация пользователя». Для этого модуля я хочу аутентифицировать (проверить) пользователя, но проблема в том, что моя база данных удаленно расположена с другим портом ( не 1521). каждый раз, когда я пытаюсь подключиться через какой-то простой и простой jdbc, возникает хорошо продуманное исключение для украшения моей консоли примерно так

"SEVERE: ноль java.sql.SQLException: Io exception: Сетевой адаптер не смог установить соединение в oracle.jdbc.driver.DatabaseError.throwSqlException (DatabaseError.java:112) в oracle.jdbc.driver.DatabaseError.throwSqlException (DatabaseError.java:146) в oracle.jdbc.driver.DatabaseError.throwSqlException (DatabaseError.java:255) в oracle.jdbc.driver.T4CConnection.logon (T4CConnection.java:387) at oracle.jdbc.driver.PhysicalConnection. (PhysicalConnection.java:414) "

Программисты, которые специально работали со свингами, когда создавали инструмент для некоторых веб-сервисов, могли попасть в одну категорию ... пожалуйста, посмотрите и подумайте.

Ответы [ 4 ]

1 голос
/ 05 октября 2010

LDAP - это, по сути, большая Карта, позволяющая вам искать вещи. Вы используете это не для связи с базой данных Oracle, а для JDBC-драйвера.

Вам понадобится тот, который соответствует вашей базе данных Oracle, и у вас есть два варианта:

  • thin : Это на чистом Java, и вам нужно использовать IP-номер или DNS-имя сервера базы данных.
  • толстый : он вызывает те же библиотеки, что и SQLPLUS, поэтому вы можете использовать те же имена баз данных, что и в SQLPLUS.

Также обратите внимание, что приложение Swing должно иметь возможность достигать базы данных по сети, чтобы это работало. Обычно Oracle работает на порту 1521. Это часто означает правила брандмауэра для любой нетривиальной установки.

1 голос
/ 05 октября 2010

с помощью простого JDBC вы можете подключиться к удаленной базе данных Oracle.

0 голосов
/ 01 февраля 2011

У меня тоже такая же проблема. При подключении только из среды приложений Swing эта ошибка появляется. Я могу подключиться к базе данных из PLSQL Developer. Я также могу подключиться к БД с помощью другого настольного Java-приложения, которое не основано на «SwingAppliation Framework». Я пытаюсь подключиться к базе данных из классов задач, и это не удается. В другом приложении, которое работает, я использую обычный класс Java. В обоих приложениях я использую Hibernate.

0 голосов
/ 05 октября 2010

Очевидно, что это проблема сети. Это означает, что вы не можете получить доступ к базе данных через сеть или, возможно, предоставленный URL-адрес недействителен.Также убедитесь, что вы используете что-то вроде этого:

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

Протокол доступа к каталогу Light используется для аутентификации пользователей в приложении, а не для подключения к базе данных.

...