Мне было трудно заставить работать источник данных JNDI. Следуйте инструкциям на странице http://tomcat.apache.org/tomcat-5.5-doc/jndi-resources-howto.html Я подключаюсь к оракулу с помощью Tomcat 5.5. Я могу подключиться нормально, если использую прямое соединение JDBC в коде.
Вот что у меня есть: в моем META-INF/context.xml:
<Resource name="jdbc/mydb" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:theserver:1521/mydb"
username="user" password="password" maxActive="20" maxIdle="10"
/>
вот что в web.xml:
<resource-ref>
<description>please work</description>
<res-ref-name>jdbc/mydb</res-ref-name>
<res-type>
javax.sql.DataSource
</res-type>
<res-auth>Container</res-auth>
</resource-ref>
вот код:
Connection conn = null;
try{
InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup("java:comp/env/jdbc/mydb");
conn = ds.getConnection();
} catch ....... etc.
Я пробовал много разных конфигураций и начал новый, простой проект, чтобы убедиться, что дополнительные файлы jar не конфликтуют или что-то в этом роде, но .
может ли кто-нибудь увидеть что-нибудь, что не выглядит правильно?
ошибка на сервере указывает на NullPointerException, когда я пытаюсь использовать объект conn. извините, сначала предлагает: org.apache.tomcat.dbcp.dbcp.SQLNestedException: невозможно создать PoolableConnectionFactory (исключение Io: сетевой адаптер не смог установить соединение)