[sql-server] SQL Server에 대한 Maven 종속성 설정

SQL Server 데이터베이스에 대한 Hibernate 액세스 권한이있는 포틀릿을 개발 중입니다. Maven 종속성을 설정했습니다. 그것에 대한 을 MySql에있는 것과 동일한 방식으로 SQL Server 커넥터를 찾으려고 노력합니다.

여전히 내 Google 검색은 SQL Server 커넥터를 검색하면 Mysql 만 제공합니다. 올바른 Maven 종속성 값 은 무엇입니까 ?



답변

Olaf에서 제공하는 링크에서 드라이버 JAR을 다운로드하고 다음을 사용하여 로컬 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>


답변

“신규”및 “멋진”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 드라이버를 로컬 버전 제어에 넣을 수 있습니다. 각 개발자가 자신의 저장소에 항목을 수동으로 설정할 필요가 없습니다.

난에서 영감을했다 다른 스택 오버플로 질문이 대답 하고 나 또한 여기에 대해 블로그했습니다 .


답변

대안도 있습니다. MS-SQL Server 용 오픈 소스 jTDS 드라이버를 사용할 수도 있습니다.이 드라이버는 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>

2016 년 11 월 업데이트 , Microsoft는 이제 MSSQL JDBC 드라이버 를 github에 게시했으며 이제 maven에서도 사용할 수 있습니다.

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


답변

Microsoft SQL Server JDBC 드라이버를 찾고 있다고 생각합니다. http://msdn.microsoft.com/en-us/sqlserver/aa937724


답변

위의 답변에주의하십시오. sqljdbc4.jar는 공용 라이센스로 배포되지 않으므로 런타임 및 배포를 위해 jar에 포함하기가 어렵습니다. 자세한 내용과 훨씬 더 나은 솔루션은 아래 내 대답을 참조하십시오. 이 대답을 찾으면 내 인생이 훨씬 쉬워 질 것입니다.

https://stackoverflow.com/a/30111956/3368958


답변

sqlserver jar를 설치 한 후에도 내 maven은 maven 저장소에서 종속성을 가져 오려고했습니다. 그런 다음 내 pom에 내 로컬 컴퓨터의 저장소를 제공했으며 그 후에는 잘 작동합니다 … 누군가에게 도움이 될 수 있습니다.

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


답변

<dependency>
  <groupId>com.hynnet</groupId>
  <artifactId>sqljdbc4-chs</artifactId>
  <version>4.0.2206.100</version>
</dependency>

이것은 나를 위해 일했습니다 (당신이 maven을 사용한다면)

https://search.maven.org/artifact/com.hynnet/sqljdbc4-chs/4.0.2206.100/jar