试图连接Java和SQL Server Express时出现的问题。

问题描述 投票:0回答:1

所以,我正在做一个简单的应用程序,我的代码连接到一个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已经被导入

enter image description here

java sql sql-server jdbc
1个回答
2
投票

问题是,你正在使用Java 8(Java 8更新241)来运行你的程序,但正在尝试使用微软SQL Server JDBC驱动程序的Java 11和更高版本(如由 jre11 的版本)。)

鉴于该驱动程序是为Java 11编译的,它不能被Java 8加载。下载Java 8版本的驱动程序(以 jre8),或升级到Java 11。

© www.soinside.com 2019 - 2024. All rights reserved.