Код в обоих случаях одинаков.
Нет, это не так;если бы он был точно таким же, вы бы правильно подключились.
, но он может подключиться, когда я запускаю его через Eclipse напрямую
Означает ли это, что у вас естьосновной метод, который управляет кодом, который подключается правильно?То, как вы это делаете, обычно отличается от веб-приложения - вы это знаете, верно?
Если бы вы могли опубликовать исключение или сообщение в журнале, это бы очень помогло.
Япредполагая, что это может быть любой из следующих;предположение необходимо, потому что вы не предоставили достаточно информации для точного ответа:
- JAR-файл драйвера JDBC недоступен, если вы работаете в одной конфигурации;в этом случае вы увидите
ClassNotFoundException
. - Вы не настроили источник данных JNDI в Tomcat должным образом.
- Вы не поместили JAR-файл драйвера JDBC в каталог Tomcat / lib.
Возможны и другие возможности.
ОБНОВЛЕНИЕ:
Поскольку вы используете Access и не предоставляете никакой другой информации, я предполагаю, что вы используете относительный путь к файлу для доступа к файлу Access .mdb
.Ваше приложение командной строки, которое успешно работает в Eclipse, работает, потому что вы указываете относительный путь к файлу, который является правильным относительно корня проекта.При развертывании в Tomcat этот относительный путь больше не является правильным, поэтому ваше приложение больше не может найти базу данных.
Похоже, вы не печатаете трассировку стека для ошибок, поэтому вы теряетена информацию, которая может помочь вам понять это.
Microsoft Access не многопользовательская база данных.Веб-приложение, работающее на Tomcat, безусловно, многопоточное.Вы не должны использовать Access для веб-приложения.Я хотел бы рассмотреть возможность перехода на другую базу данных.