Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试将Java与SQL Server Express连接时出现问题_Java_Sql_Sql Server_Jdbc - Fatal编程技术网

尝试将Java与SQL Server Express连接时出现问题

尝试将Java与SQL Server Express连接时出现问题,java,sql,sql-server,jdbc,Java,Sql,Sql Server,Jdbc,因此,我正在制作一个简单的应用程序,其中我的代码连接到SQLServerExpress数据库。我已经配置了JDBC、数据库、登录和密码。但是,当我尝试运行代码时,总是会遇到相同的错误。错误在于: java.sql.SQLException: No suitable driver found for jdbc:sqlserver://localhost;databaseName=SampleDatabase;user=testLogon;password=sample123 at

因此,我正在制作一个简单的应用程序,其中我的代码连接到SQLServerExpress数据库。我已经配置了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();
        }
    }
}
JDBCJAR已经导入


问题在于,您正在使用Java 8(Java 8 update 241)运行程序,但正在尝试使用适用于Java 11及更高版本的Microsoft SQL Server JDBC驱动程序版本(如版本中的
jre11
所示)


由于驱动程序是为Java11编译的,所以Java8无法加载它。下载驱动程序的Java 8版本(以
jre8
结尾),或升级到Java 11。

您需要将驱动程序库添加到classpath@WSouBar驱动程序的.jar已经添加了。您使用的库是什么?您是如何将这个jar添加到您的classpath@codeogeek在vscode上,我们可以从“Java依赖项”选项卡>引用Libraries@codeogeek我正在使用microsoft为sql server connection发布的默认库:该死,这是一个简单的问题,我在vscode上更改了openjdk 11的绝对路径,一切正常!谢谢!