Подключение к БД с веб-сервера Sun - PullRequest
0 голосов
/ 17 февраля 2010

В чем разница между подключением к базе данных, выполненным из автономного кода, и подключением из веб-приложения, развернутого на веб-сервере Sun Java.

Код, используемый для подключения к базе данных, при отдельном запуске соединение с БД успешно. Но тот же код внутри моего веб-приложения при развертывании не может установить соединение с базой данных. Доступ к БД осуществляется через VPN.

public OracleConnectionPoolWrapper (источник данных DBInfo) выдает SQLException { OracleConnectionCacheImpl ora; OracleConnectionPoolDataSource oracleConnectionPoolDataSource = new OracleConnectionPoolDataSource (); oracleConnectionPoolDataSource.setURL (dataSource.getConnectionString ()); oracleConnectionPoolDataSource.setUser (dataSource.getUserName ()); oracleConnectionPoolDataSource.setPassword (dataSource.getPassword ()); ora = новый OracleConnectionCacheImpl (oracleConnectionPoolDataSource); ora.setMaxLimit (dataSource.getPoolSize ()); ora.setCacheScheme (1); Соединение con = ora.getConnection (); }

Приведенный выше фрагмент кода в моем приложении используется для подключения к базе данных, доступ к которой осуществляется через VPN . Когда этот фрагмент кода запускается как отдельная программа, когда VPN-соединение установлено, он успешно подключается к базе данных. Но веб-приложение, имеющее тот же код при развертывании на веб-сервере Java Java и установленном VPN-соединении, не может подключиться к базе данных. Я получаю следующую ошибку

Io исключение: сетевой адаптер не может установить соединение [15 февраля / 2010: 16: 31: 31] предупреждение (4308): CORE3283: stderr: java.sql.SQLException: Io исключение: сетевому адаптеру не удалось установить соединение [15 февраля / 2010: 16: 31: 31] предупреждение (4308): CORE3283: stderr: at oracle.jdbc.driver.DatabaseError.throwSqlException (DatabaseError.java:112)

1 Ответ

0 голосов
/ 17 февраля 2010

Вы должны использовать источник данных, чтобы получить соединение с базой данных в веб-приложении. Если вы хотите, чтобы ваш код работал автономно и в веб-приложении, вы могли бы делегировать доступ к соединению в различные стратегии.

...