0

我正在使用以下依赖项。

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

        <dependency>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>adal4j</artifactId>
            <version>1.6.4</version>
        </dependency>

当我形成如下连接网址时。

  String connectionUrl = jdbcURL + ";databaseName=" + databaseName + ";user=" + userName + ";password="
                    + password
                    + ";encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;"
                    + "loginTimeout=30;authentication=ActiveDirectoryPassword";

我收到如下错误:

' 'java.lang.RuntimeException: Driver com.microsoft.sqlserver.jdbc.SQLServerDriver 声称不接受 jdbcUrl, '

当我将密码括在如下大括号中时,我能够成功连接到 Azure sql 服务器。

String connectionUrl = jdbcURL + ";databaseName=" + databaseName + ";user=" + userName + ";password={"
                + password + "}"
                + ";encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;"
                + "loginTimeout=30;authentication=ActiveDirectoryPassword";

仅供参考,密码有一个大括号 {,它会造成任何麻烦吗?是否必须将密码字符串括在花括号中?

4

1 回答 1

0

当我使用 setPassword 方法设置密码时,此问题得到解决。

dataSource.setPassword(password);
于 2021-08-23T12:47:56.107 回答