当前位置: 首页 > 知识库问答 >
问题:

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

令狐建修
2023-03-14

因此,我正在制作一个简单的应用程序,其中我的代码连接到一个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

共有1个答案

阚砚文
2023-03-14

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

如果驱动程序是为Java11编译的,那么它就不能被Java8加载。下载Java8版本的驱动程序(以jre8)结尾,或者升级到Java11。

 类似资料:
  • 我正在尝试运行以下Sqoop命令: 然而,我得到了这个错误: 17/02/04 00:04:53 警告安全。用户组信息: 特权行动例外作为:avinash (身份验证:简单) 原因:java.io.文件不发现异常: 文件不存在: hdfs://localhost:9000/home/avinash/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/lib/slf4j-api-

  • 我在Ubuntu 14.04中使用XAMPP for linux。在终端上启动服务时,打印下一个日志: sudo /opt/lampp/lampp启动 "开始XAMPPLinux5.5.30-0... XAMPP:正在启动Apache。。。好啊 XAMPP:正在启动MySQL。。。已经在运行了。 XAMPP:开始ProFTPD...好的。" 我不知道为什么当我第一次启动XAMPPm时,MySQL服

  • 我试图将python连接到mysql数据库,但它为。我使用的是 linux 操作系统。 这是我的代码: 这就是错误。 回溯(最近的最后一次调用):文件"/home/Sandytom/. loc/lib/python3.6/Site e-的包/mysql/连接器/connection_cext.py",第216行,在_open_connection中。_cmysql.connect(**cnx_kw

  • 我通过Atlas MongoDB创建了到数据库的连接。 我不知道如何解决这个问题。 提前道谢。

  • 问题内容: 我正在尝试使用Jackson将一些JSON数据转换为Java对象(精确地说是对象列表),但出现此错误: org.codehaus.jackson.map.JsonMappingException:无法反序列化objectlayerlayer的实例。START_ARRAY令牌之外的详细信息 这是代码: ld 是Json格式的列表,这是让我在jackson教程中感到困惑的部分。这是什么 新

  • 我是php服务器端和mysql的新手,有了一些基本的知识,最近安装wamp服务器和一些php文件和数据库创建,我正在尝试将我的android应用程序连接到运行mysql数据库的本地主机(就像一些webservice一样)。 因此,在浏览器中,我在url地址空间中键入,它将显示wampserver主页 但当我键入时,它显示了某个错误页面,我将附加错误页面的屏幕截图 这是屏幕 因此任何人都可以告诉我为