我无法将我的 javafx 项目连接到 Oracle 11 数据库

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

我的“设置”:

  • Netbeans 15
  • Java JDK 11
  • JavaFX SDK 18
  • 甲骨文 XE 11.2
  • 我将 JBDC 6 驱动程序 (ojdbc6.jar) 添加到我的路径项目中。
  • 我将 JBDC 驱动程序添加到我的 Windows 变量中。
  • 我将 JDBC 驱动程序添加到我项目的“库”中。
  • 我在我的 netbeans 中添加了一个命名的 JavaFX 库,其中包含我的 javafx sdk 的 8 个文件。
  • 我在 Properties>Libraries>Compile>classpath + Properties>Libraries>Run>modulepath 中将 JavaFX 库 (👆🏽) 添加到我的项目
  • 我在属性>运行>虚拟机选项中添加了“--module-path /path/to/javafx/lib --add-modules=javafx.controls,javafx.fxml”

那是我的连接文件:

package modelo;

import java.sql.Connection;
import java.sql.DriverManager;
import javafx.scene.control.Alert;

public class Conexion {
    Connection con;
    String url="jdbc:oracle:thin:@localhost:1521:XE";
    String user="hr";
    String pass="pass";
    
    public Connection conectar(){
        try {
            Class.forName("Oracle.jdbc.driver.OracleDriver");
            con = DriverManager.getConnection(url,user,pass);
        } catch (Exception e) {
            Alert alert = new Alert(Alert.AlertType.ERROR);
            alert.setTitle("Ventana de error");
            alert.setHeaderText(e.getMessage());
            System.out.println(e.getMessage());
            alert.setContentText("Acepta para continuar");
            alert.showAndWait();
        }
        return con;
    }
    
    public void desconexion(){
        try {
            con.close();
        } catch (Exception e) {
            System.out.println("Error al desconectarse" + e.getMessage());
        }
    }
}

系统输出错误:Oracle.jdbc.driver.OracleDriver

我添加了“e.printStackTrace();”在“alert.setHeaderText(e.getMessage());”行下我明白了:

    java.lang.ClassNotFoundException: Oracle.jdbc.driver.OracleDriver
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
Oracle.jdbc.driver.OracleDriver
    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:315)
    at modelo.Conexion.conectar(Conexion.java:23)
    at modelo.ReparacionDao.listar(ReparacionDao.java:27)
    at controlador.VClientesController.actualizarTabla(VClientesController.java:126)
    at controlador.VClientesController.initialize(VClientesController.java:110)
    at javafx.fxml@18/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2655)
    at javafx.fxml@18/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
    at javafx.fxml@18/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3331)
    at javafx.fxml@18/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3287)
    at javafx.fxml@18/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3255)
    at javafx.fxml@18/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3227)
    at javafx.fxml@18/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3203)
    at javafx.fxml@18/javafx.fxml.FXMLLoader.load(FXMLLoader.java:3196)
    at controlador.Principal.start(Principal.java:30)
    at javafx.graphics@18/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:847)
    at javafx.graphics@18/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:484)
    at javafx.graphics@18/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at javafx.graphics@18/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
    at javafx.graphics@18/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
    at javafx.graphics@18/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at javafx.graphics@18/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184)
    at java.base/java.lang.Thread.run(Thread.java:834)

我不能停止感谢你帮助我的速度,这让我很惊讶。

另一件奇怪的事情是,如果我删除 imports .sql.Connection;和 .sql.DriverManager; Netbeans 没有向我建议正确的导入。 [1]: https://i.stack.imgur.com/OS04W.png

javafx jdbc netbeans oracle11g oracle-xe
© www.soinside.com 2019 - 2024. All rights reserved.