Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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 Oracle本地主机数据库连接(Java.lang.ClassNotFoundException)_Java_Mysql_Exception_Jdbc - Fatal编程技术网

Java Oracle本地主机数据库连接(Java.lang.ClassNotFoundException)

Java Oracle本地主机数据库连接(Java.lang.ClassNotFoundException),java,mysql,exception,jdbc,Java,Mysql,Exception,Jdbc,我目前正在使用这段简单的代码尝试连接到这台计算机上的数据库(Java) 由于某种原因,我不明白我会遇到这个错误 Exception in thread "main" java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method

我目前正在使用这段简单的代码尝试连接到这台计算机上的数据库(Java)

由于某种原因,我不明白我会遇到这个错误

Exception in thread "main" java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at Main.main(Main.java:10)

我认为这些类在ojdbc5.jar文件中?我不太确定如何修复此错误,因此任何帮助都会很好。

如果您加载的是Oracle类而不是MySQL,您可能会获得更好的成功:

String driverName = "oracle.jdbc.driver.OracleDriver";
Class.forName(driverName);


String serverName = "localhost";
String mydatabase = "xe";
String url = "jdbc:oracle:thin:@//" + serverName + ":1521/" + mydatabase; 

如果加载的是Oracle类而不是MySQL,您可能会取得更好的成功:

String driverName = "oracle.jdbc.driver.OracleDriver";
Class.forName(driverName);


String serverName = "localhost";
String mydatabase = "xe";
String url = "jdbc:oracle:thin:@//" + serverName + ":1521/" + mydatabase; 

Java使用称为“类路径”的东西来定位JAR文件中经常包含的类(但并不总是如此)

这个“classpath”选项是通过使用--classpath或-cp选项的命令行执行来设置的。您应该使用此选项调用java命令,指定下载的JAR文件(包含oraclejdbc驱动程序)的位置


如果您使用的是IDE,根据您的IDE,可以通过查找“库”、“模块”或类路径本身等选项自动设置此选项。您使用的是哪个IDE?

Java使用一种称为“类路径”的东西来定位JAR文件中经常包含的类(但并不总是如此)

这个“classpath”选项是通过使用--classpath或-cp选项的命令行执行来设置的。您应该使用此选项调用java命令,指定下载的JAR文件(包含oraclejdbc驱动程序)的位置


如果您使用的是IDE,根据您的IDE,可以通过查找“库”、“模块”或类路径本身等选项自动设置此选项。您使用的是哪个IDE?

我不知道您是从哪里获得此代码的,但它包含几个错误:

  • stringdrivername=“org.gjt.mm.mysql.Driver”
    用于访问MySQL数据库。如果要访问MySQL实例,请使用
    com.MySQL.jdbc.Driver
    org.gjt.mm.mysql.Driver
    将起作用,但为了向后兼容而保留它。如果要使用Type4驱动程序访问Oracle实例,请使用
    Oracle.jdbc.OracleDriver
    ;避免使用
    oracle.jdbc.driver.OracleDriver
    ,因为它已被弃用,并且可能在较新的驱动程序中不可用(特别是在为oracle 11g发布的驱动程序中)
  • String url=“jdbc:mysql://”+serverName+“//”+mydatabase
    表示您希望连接到MySQL实例。但你说的是访问Oracle。在这种情况下,Oracle驱动程序将无法工作,因为它可以识别特定格式的JDBC URL。要使用
    ojdbc5.jar
    /
    ojdbc6.jar
    中的精简驱动程序使用服务名称和端口访问数据库,应使用,如《Oracle JDBC开发人员指南》中所述。因此,最终的JDBC URL格式应为:
    • jdbc:oracle:thin:scott/tiger@//localhost:1521/xe
    • jdbc:oracle:thin:@//localhost:1521/xe
      如果您不想在jdbc URL中传递用户名和密码

我不知道您是从哪里获得此代码的,但它包含几个错误:

  • stringdrivername=“org.gjt.mm.mysql.Driver”
    用于访问MySQL数据库。如果要访问MySQL实例,请使用
    com.MySQL.jdbc.Driver
    org.gjt.mm.mysql.Driver
    将起作用,但为了向后兼容而保留它。如果要使用Type4驱动程序访问Oracle实例,请使用
    Oracle.jdbc.OracleDriver
    ;避免使用
    oracle.jdbc.driver.OracleDriver
    ,因为它已被弃用,并且可能在较新的驱动程序中不可用(特别是在为oracle 11g发布的驱动程序中)
  • String url=“jdbc:mysql://”+serverName+“//”+mydatabase
    表示您希望连接到MySQL实例。但你说的是访问Oracle。在这种情况下,Oracle驱动程序将无法工作,因为它可以识别特定格式的JDBC URL。要使用
    ojdbc5.jar
    /
    ojdbc6.jar
    中的精简驱动程序使用服务名称和端口访问数据库,应使用,如《Oracle JDBC开发人员指南》中所述。因此,最终的JDBC URL格式应为:
    • jdbc:oracle:thin:scott/tiger@//localhost:1521/xe
    • jdbc:oracle:thin:@//localhost:1521/xe
      如果您不想在jdbc URL中传递用户名和密码

谢谢你的提示,我现在正在使用它,但是我仍然在线程“main”java.lang.ClassNotFoundException:oracle.jdbc.driver.OracleDriver中遇到了这个异常。我将查看我得到的其他响应,看看是否可以清除这个异常。你的类路径中没有JAR。这个jar会是odbc5.jar吗?我会把它放在.classpath所在的项目文件夹中?@user828727,为了确保加载了该类,可以添加一个
import oracle.jdbc.driver.OracleDriver到您的代码。顺便说一句,你也可以在Oracle
classes12.jar
中找到这个类。编辑:不管怎样,我只是右键单击项目->属性->java构建路径->库并单击外部jar来添加jar,仍然有错误。。。。但是哦,谢谢你的提示,我现在正在使用它,但是我仍然在线程“main”java.lang.ClassNotFoundException:oracle.jdbc.driver.OracleDriver中得到这个异常。我将查看其他响应,看看是否可以清除这个异常。你在类路径中没有JAR。这个jar会是odbc5.jar吗?我会把它放在.classpath所在的项目文件夹中?@user828727,为了确保加载了该类,可以添加一个
import oracle.jdbc.driver.OracleDriver到您的代码。顺便说一句,你也可以在Oracle
classes12.jar中找到这个类