我目前正在使用以下属性从Java Spring Boot应用程序连接到远程Mssql服务器:
<dependency>
<groupId>com.google.oauth-client</groupId>
<artifactId>google-oauth-client-jetty</artifactId>
<version>${project.oauth.version}</version>
<exclusions>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
</exclusions>
</dependency>
该应用程序可从Windows和UNIX服务器运行。现在,我需要开始使用Windows身份验证而不是数据库凭据。已从MSSQL端配置并支持此功能。从Java春季启动这是行不通的。我试图添加到url:IntegratedSecurity = true,它表示找不到dll。我将sqljdbc_auth.dll添加到java jre bin文件夹中,但没有成功。
答案 0 :(得分:1)
我正在使用MS SQL Server 2016,Hibernate 5.3.7,Final和Spring bot 2.2.0。对我来说,将此行添加到属性中可以正常工作:(没有jtds!)
spring.datasource.url=jdbc:servername;databasename=your_db_name;integratedSecurity=true
您可能还需要以下属性:
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
如果您遇到“ java.library.path中没有sqljdbc_auth”的问题。 您可以参考此答案no sqljdbc_auth。
答案 1 :(得分:0)
尝试使用jtds驱动程序,并在复制属性中使用:
app.datasource.youraplication.jdbcUrl=jdbc:jtds:sqlserver://yourBdHost/yourSchemaBd;domain=yourDomain
答案 2 :(得分:0)
从以下位置下载驱动程序: https://docs.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-2017
将jar添加到项目中右键单击项目->构建路径->配置构建路径->库->添加外部JAR
在您的连接字符串中添加“ integratedSecurity = true”,并删除用户名和密码