Настройка зависимости maven для SQL Server

Я разрабатываю портлет, где у меня есть Hibernate доступ к базе данных SQL Server. Я установил для него зависимостей maven и попытался найти разъем SQL Server так же, как я знаю, что у MySql есть.

По-прежнему мой поиск Google дает только Mysql, если я ищу соединитель SQL Server. Какова правильная зависимость maven?

Ответ 1

Загрузите JAR драйвера из ссылки, предоставленной Olaf, и добавьте ее в локальный репозиторий Maven с помощью

mvn install:install-file -Dfile=sqljdbc4.jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0 -Dpackaging=jar

Затем добавьте его в свой проект с помощью

<dependency>
  <groupId>com.microsoft.sqlserver</groupId>
  <artifactId>sqljdbc4</artifactId>
  <version>4.0</version>
</dependency>

Ответ 2

Ответьте за "новый" и "крутой" Microsoft.

Yay, драйвер SQL Server теперь под лицензией MIT на

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>6.1.0.jre8</version>
</dependency>

Ответ для "старого" Microsoft:

Для моего варианта использования (интеграционное тестирование) было достаточно использовать системную область для зависимости драйвера JDBC как таковую:

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>sqljdbc4</artifactId>
    <version>3.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/sqljdbc4.jar</systemPath>
    <optional>true</optional>
</dependency>

Таким образом, я мог бы поместить драйвер JDBC в локальный контроль версий. Не нужно, чтобы каждый разработчик вручную настраивал вещи в своих собственных репозиториях.

Я получил вдохновение от этого ответа на другой вопрос, и я также написал об этом здесь.

Ответ 3

Существует также альтернатива: вы можете использовать драйвер jTDS с открытым исходным кодом для MS-SQL Server, совместимый, хотя и не выполненный Microsoft. Для этого драйвера существует артефакт maven, который вы можете использовать:

http://jtds.sourceforge.net/

Из http://mvnrepository.com/artifact/net.sourceforge.jtds/jtds:

<dependency>
    <groupId>net.sourceforge.jtds</groupId>
    <artifactId>jtds</artifactId>
    <version>1.3.1</version>
</dependency>

UPDATE нов 2016, Microsoft теперь опубликовала свой драйвер MSSQL JDBC в github, а также теперь доступен на maven

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>6.1.0.jre8</version>
</dependency>

Ответ 5

Будьте осторожны с ответами выше. sqljdbc4.jar не распространяется по открытой лицензии, поэтому его сложно включить в банку для выполнения и распространения. См. Мой ответ ниже для получения более подробной информации и гораздо лучшего решения. Ваша жизнь станет намного легче, чем моя, как только я нашел этот ответ.

fooobar.com/questions/51600/...

Ответ 6

Даже после установки sqlserver jar мой maven пытался извлечь зависимое из maven-репозитория. Затем я предоставил свой pom хранилище моей локальной машины, и он отлично работает после этого... может помочь кому-то.

    <repository>
        <id>local</id>
        <name>local</name>
        <url>file://C:/Users/mywindows/.m2/repository</url>
    </repository>

Ответ 7

Похоже, что Microsoft опубликовала некоторые свои драйверы для центрального центра:

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>6.1.0.jre8</version>
</dependency>