从 SQLServerDataSource 获取连接时出错

Error when get connection from SQLServerDataSource

我有一个本地 SQL 服务器实例。如果我尝试连接 Management Studio(SQL 服务器身份验证,使用用户名和密码)一切正常。

但是,当我尝试从 Spring 引导应用程序创建连接时,出现了一些错误。

这是数据源的代码(dbUsername 和 dbpassword 是正确的)

@Bean
public DataSource getDataSource() throws SQLServerException {
    SQLServerDataSource ds = new SQLServerDataSource();
    ds.setUser(dbUsername);
    ds.setPassword(dbPassword);
    ds.setServerName("localhost");
    ds.setPortNumber(1433);
    ds.setDatabaseName("mydb");
    return ds;
}

当我尝试检索与

的连接时
Connection connection = dataSource.getConnection();

我收到这个错误:

com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user '"sa"'.

如果我添加 ds.setIntegratedSecurity(true); 我有一个不同的错误:

com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication.

这是我正在使用的 JDBC 驱动程序:

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

有什么建议吗?

就个人而言,我鼓励您通过在 application.yaml 文件中设置配置来连接您的数据库。它在 src/resources/application.yaml

  1. 创建一个 application.yaml 文件(如果它不存在)。
  2. 复制此内容:
spring:
  datasource:
    URL: jdbc:sqlserver://localhost:1433/mydb?reconnect=true
    username: username
    password: password
  1. 将用户名和密码替换为您的。
  2. 删除您创建的 bean。
  3. 祝你好运!