设置 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
中的文件夹中,正如他们的文档所建议的那样。我的 maven
和 java
工作正常,我有一个例子 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];"
,它终于连接上了。
为了公平起见,这个错误非常不明确且毫无帮助。
从昨天开始,我一直在想办法解决这个 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
中的文件夹中,正如他们的文档所建议的那样。我的 maven
和 java
工作正常,我有一个例子 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];"
,它终于连接上了。
为了公平起见,这个错误非常不明确且毫无帮助。