'java.lang.RuntimeException: Driver com.microsoft.sqlserver.jdbc.SQLServerDriver claims to not accept jdbcUrl,'

'java.lang.RuntimeException: Driver com.microsoft.sqlserver.jdbc.SQLServerDriver claims to not accept jdbcUrl,'

我正在使用以下依赖项。

       <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>

当我建立连接时 url 如下所示。

  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 claims to not accept jdbcUrl,'

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

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

仅供参考,密码有一个打开的 curly 大括号 {,是否造成任何麻烦?是否必须将密码字符串括在 curly 大括号中?

使用setPassword方法设置密码后问题解决

dataSource.setPassword(password);