Создание источника данных DatabaseConnection из Eclipse - PullRequest
0 голосов
/ 23 февраля 2012

Я новичок в Eclipse.В настоящее время разрабатываю пример веб-приложения с использованием Primefaces 3.1 и Glassfish 3.

Я создал соединение с базой данных Oracle в проводнике источников данных.Я хотел бы знать, как интегрировать это с моим веб-приложением, чтобы я мог подключаться к базе данных из своего веб-приложения.Я знаю, что создания context.xml и ввода следующего может быть достаточно для доступа к базе данных, но есть ли способ интегрировать соединение с базой данных с моим приложением?Так что мне не нужно жестко кодировать пароль в context.xml.

В прошлом я использовал Jdeveloper и при создании соединения с базой данных генерируются соответствующие записи источника данных в xml.Поэтому мне было интересно, что подобное можно было бы использовать с помощью Eclipse?

Любая помощь высоко ценится.

<?xml version="1.0" encoding="UTF-8"?>

<Context>
   <Resource name="jdbc/SampleDB" auth="Container"
       type="javax.sql.DataSource" 
       username="app" password="app"
       driverClassName="org.apache.derby.jdbc.ClientDriver"
       url="jdbc:derby://localhost:1527/sample" 
       maxActive="8"    /> 
</Context> 

1 Ответ

0 голосов
/ 24 февраля 2012

Я нашел решение для создания источника данных для Glassfish.

Я создал JDBC-ресурс в GlassFish и указал соединение с моим соединением, созданным в Date Source Explorer. Он создал sun-resources.xml. Мне пришлось вручную переименовать это в glassfish-resource.xml. По умолчанию там нет записи для пароля, поэтому пришлось добавить вручную. Когда я запускал свое веб-приложение, я получал эту ошибку

java.sql.SQLException: Error in allocating a connection. Cause: No PasswordCredential found

Итак, чтобы устранить эту ошибку, я добавил свойство в пул соединений JDBC на административном сервере glassfish. Теперь я могу подключиться к базе данных Oracle.

Не уверен, почему я должен сделать два шага вручную. Кроме того, по умолчанию он создает sun-resources.xml. Возможно, кто-то может указать, как обойти это.

Спасибо

...