Не найден подходящий драйвер для jdbc:sqlserver в среде Spring

Я работаю в IntelliJ Ultimate над веб-приложением на основе Spring. Я загрузил необходимый jar с сайта Microsoft (https://www.microsoft.com/en-us/download/details.aspx?id=11774), и он находится в моем пути к классу.

У меня есть следующий код в моем веб-приложении:

    try {
         conn = DriverManager.getConnection(strSQLConnection, strSQLUserUpdates, strSQLPWUpdates);
    } catch (SQLException e) {
         e.printStackTrace();
    }

Когда я запускаю веб-приложение (на сервере Tomcat 9.0.0.M8), я получаю сообщение об ошибке «Не найден подходящий драйвер для jdbc: sqlserver» в журнале сервера.

Однако я запускаю тот же самый код вне среды Spring, соединение устанавливается без проблем.


person DRich    schedule 19.11.2016    source источник


Ответы (2)


Мне не хватало необходимого компонента источника данных в моем файле контекста приложения. Добавление следующего в контекст моего приложения (-servlet.xml) устранило проблему:

<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
</bean>
person DRich    schedule 19.11.2016

Убедитесь, что ни одна из ваших зависимостей не загружает ваш драйвер jdbc в другой версии (если вы используете maven или gradle).

И вторая мысль: если ваша зависимость имеет область действия для драйвера jdbc, добавьте lib вручную в папку tomcat/libs.

person argh    schedule 19.11.2016