连接 java 驱动程序以连接到 SQL 服务器时出现问题

Problem connecting java driver for connecting to SQL Server

我在尝试将我的 java 应用程序连接到 SQL 服务器数据库时遇到错误,这是我的代码。

 try {
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        Connection conn = DriverManager.getConnection(CONN,USER,PASS);
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery("select * from articulos");
        while(rs.next()) {
            int id = rs.getInt(1);
            String descripcion = rs.getString(2);
            float precio = rs.getFloat(3);
            int rubro = rs.getInt(4);
            
            Articulo a = new Articulo(id,descripcion,precio);
            lista.add(a);
        }
        
    } catch (SQLException | ClassNotFoundException ex) {
        Logger.getLogger(GestorBD.class.getName()).log(Level.SEVERE, null, ex);
    }

我一直有这个错误

SEVERE: null
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:333)
at gestor.GestorBD.obtenerArticulos(GestorBD.java:19)
at repasobd.RepasoBD.main(RepasoBD.java:14)

这表明我的驱动程序已连接。

我已经更新了我的 CLASSPATH,但仍然出现同样的错误。

您的 class 路径中需要 com.microsoft.sqlserver.jdbc.SQLServerDriver class,可以在 Microsoft JDBC 驱动程序中找到。 所以问题不在连接中。是你缺少驱动库。

不要不要使用系统范围的CLASSPATH变量——它已经被弃用很久了。

您的 NetBeans 屏幕截图显示了可用于 built-in NetBeans 数据库查询工具的驱动程序。这不会更改项目的类路径。

如果您使用的是基于 Ant 的项目,请右键单击该项目,选择属性,然后在“库”部分添加驱动程序的 jar 文件。

如果是Maven项目,需要添加微软JDBC驱动的依赖,通过Maven