Подключение Tomcat к SQL-серверу

Я подключил SQL-сервер и его драйвер к моему динамическому веб-проекту. Я создал тестовый класс (не часть веб-сайта), который успешно подключается к моей базе данных.

Однако, когда я пытаюсь подключиться к своей базе данных на своем веб-сайте (фактически в сервлете Java) и запустить ее на своем сервере/Apache Tomcat, я получаю исключение:

класс не найден

Я не понимаю, почему это происходит. Мой сервер работает, и подключение к базе данных работает в обычном классе Java. Нужно ли мне настраивать что-то еще при использовании SQL-сервера на веб-сервере (Tomcat)?

Любая помощь приветствуется!


person SGolds    schedule 20.11.2018    source источник
comment
Вы используете здесь JNDI?   -  person Dark Knight    schedule 20.11.2018
comment
Возможный дубликат Настроить пул соединений SQL Server на Tomcat   -  person Abhinav    schedule 20.11.2018


Ответы (2)


Я предполагаю, что вы используете драйвер JDBC для подключения к вашему SQL-серверу из сервлета.

Убедитесь, что вы скопировали JAR-файл JDBC в приложение Tomcat, из которого вы на самом деле запускаете сервлет. Убедитесь, что вы обращаетесь к этому сервлету, в частности, из своего внешнего интерфейса (веб-сайта), а не из другого сервлета по ошибке, который не имеет классов JDBC в своем пути к классам:

Обычно файл jar находится в webapps/your_app_name/WEB_INF/lib.

можете ли вы поделиться трассировкой стека, в каком классе ваш код нарушается?

person Apollo    schedule 20.11.2018
comment
Большое спасибо. Я понял это, мне просто нужно было добавить его в качестве ресурса в XML-файл tomcat. - person SGolds; 06.12.2018

Если вы используете Maven, вам может потребоваться удалить нотацию <scope>. Я использовал eClipse, Maven, MSSql. Мой pom.xml показывает, что зависимость была серой и отмечена как тестовая. Я удалил линию, и это сработало отлично.

Изменять:

    <!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>mssql-jdbc</artifactId>
        <version>7.1.4.jre8-preview</version>
        <scope>test</scope>
    </dependency>

to:

    <!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>mssql-jdbc</artifactId>
        <version>7.1.4.jre8-preview</version>
    </dependency>
person Chris Hagn    schedule 28.01.2019