设置 CLASSPATH、Maven 和 pom.xml 后出现 No Suitable Driver 错误

No Suitable Driver error after setting CLASSPATH, Maven, and pom.xml

从昨天开始,我一直在想办法解决这个 SQLException,但此时我一头雾水。我检查了数十个站点,Microsoft 和 Azure 关于如何连接数据库的整个文档,但我不断收到相同的错误。

我已经按照 Using the JDBC Driver documentation 上的通知添加了一个类似 CLASSPATH =.;C:\Program Files\Microsoft JDBC Driver 8.2 for SQL Server\sqljdbc_8.2\enu\mssql-jdbc-8.2.2.jre11.jar 的 CLASSPATH。我已经从 Microsoft 自己下载了 JDBC 驱动程序,并将文件转储到 C:\Program Files\Microsoft JDBC DRIVER 8.4 for SQL Server 中的文件夹中,正如他们的文档所建议的那样。我的 mavenjava 工作正常,我有一个例子 class 是微软自己从 SQLExamples 那里得到的,这个:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

// As informed on: 
// https://www.microsoft.com/en-us/sql-server/developer-get-started/java/windows/step/2.html

public class App {

    public static void main(String[] args) {

        String connectionUrl = "jdbc:sqlserver:[AzureAddressHere];" 
        + "database=[DatabaseHere];" 
        + "user=[UserHere];"
        + "password=[PasswordHere]";

        try {
            // Load SQL Server JDBC driver and establish connection.
            System.out.print("Connecting to SQL Server ... ");
            try (Connection connection = DriverManager.getConnection(connectionUrl)) {
                System.out.println("Done.");
            }
        } catch (SQLException e) {
            System.out.println();
            e.printStackTrace();
        }
    }
}

我还将对 jar 文件的引用添加到 pom.xml 依赖项列表中:

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

我还在网站上发现 jar 文件位于 Maven 的库文件夹中,因此我将 jar 文件复制到 lib 文件夹中嗯。

然而,每当我尝试 运行 应用程序时,我都会收到 java.sql.SQLException: No suitable driver found for [AzureInformation]

关于我在这里可能遗漏的内容有什么想法吗?

原来问题是地址中缺少两个 //捂脸

所以,我只是将此行设置为:String connectionUrl = "jdbc:sqlserver://[AzureAddressHere];",它终于连接上了。

为了公平起见,这个错误非常不明确且毫无帮助。