我正在开发一个 portlet,我可以在其中对 SQL Server 数据库进行 Hibernate 访问。我为它设置了 maven 依赖项,并尝试以我知道 MySql 拥有它的相同方式找出 SQL Server 连接器。
如果我搜索 SQL Server 连接器,我的谷歌搜索仍然只提供 Mysql。什么是正确的 Maven 依赖值?
从 Olaf 和 add it to your local Maven repository 提供的链接下载驱动程序 JAR;
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>
回答“新”和“酷”的微软。
是的,SQL Server 驱动程序现在在 MIT 许可下
GitHub:https://github.com/Microsoft/mssql-jdbc
Maven 中心:http://search.maven.org/#search%7Cga%7C1%7Cmssql-jdbc
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.1.0.jre8</version>
</dependency>
对“老”微软的回答:
对于我的用例(集成测试),对 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 驱动程序放入本地版本控制中。无需让每个开发人员在自己的存储库中手动设置内容。
我从 this answer to another Stack Overflow question 和 I've also blogged about it here 中获得灵感。
还有一个替代方案:您可以使用 MS-SQL Server 的开源 jTDS 驱动程序,它是兼容的,但不是由 Microsoft 制造的。对于该驱动程序,您可以使用一个 Maven 工件:
从 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 驱动程序 on 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
看起来微软已经向 maven Central 发布了一些驱动程序:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.1.0.jre8</version>
</dependency>
不定期副业成功案例分享