所以,我正在做一个简单的应用程序,我的代码连接到一个SQL Server Express数据库。我已经全部配置好了,JDBC,一个数据库,一个登录和密码。但当我尝试运行代码时,我一直得到相同的错误。错误是这样的。
java.sql.SQLException: No suitable driver found for jdbc:sqlserver://localhost;databaseName=SampleDatabase;user=testLogon;password=sample123
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at App.main(App.java:10)
我目前使用VSCode进行开发 但我已经换成了IntelliJ和Eclipse 但我一直得到同样的错误。
我的代码。
import java.sql.*;
public class App {
public static void main(String[] args) throws Exception {
String connectionUrl = "jdbc:sqlserver://localhost;databaseName=SampleDatabase;user=testLogon;password=sample123";
String insertString = "INSERT INTO Pessoa (id, nome, idade) VALUES (?, ?, ?)";
try (
Connection con = DriverManager.getConnection(connectionUrl);
PreparedStatement stmt = con.prepareStatement(insertString);
) {
Pessoa p1 = new Pessoa(1, "Maria", 50);
stmt.setInt(1, p1.getId());
stmt.setString(2, p1.getNome());
stmt.setInt(3, p1.getIdade());
stmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
JDBC jar已经被导入
问题是,你正在使用Java 8(Java 8更新241)来运行你的程序,但正在尝试使用微软SQL Server JDBC驱动程序的Java 11和更高版本(如由 jre11
的版本)。)
鉴于该驱动程序是为Java 11编译的,它不能被Java 8加载。下载Java 8版本的驱动程序(以 jre8
),或升级到Java 11。