Java 找不到获取类异常
嗨,朋友们,我在尝试通过java代码连接到数据库时遇到以下错误:Java 找不到获取类异常,java,oracle,jdbc,Java,Oracle,Jdbc,嗨,朋友们,我在尝试通过java代码连接到数据库时遇到以下错误: Exception in thread "Main Thread" java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at com.example.model.Driver.main(Drive
Exception in thread "Main Thread" java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at com.example.model.Driver.main(Driver.java:13)
我的java代码是:
package com.example.model;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Driver {
public static void main(String args[]) throws ClassNotFoundException,
SQLException {
Class.forName("oracle.jdbc.OracleDriver");
// or you can use:
// DriverManager.registerDriver(
// new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@127.0.0.1:1521:ORCL", "scott", "tiger");
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery("select * from customer");
while (rset.next())
System.out.println(rset.getString(1));
rset.close();
stmt.close();
conn.close();
}
}
据我所知,这可能是由于类路径问题,但不知道如何解决它。
我将类路径设置为
C:\bea\user_project\workspace\wlserver_10.3\server\ext\jdbc\oracle\11g\ojdbc5.jar;
我正在使用weblogic 10.3工作区和weblogic 10.3服务器。我将尝试将其放在weblogic的lib文件夹中。。。然后重新启动服务器,这样您就可以确定这是一个类路径问题 您应该从oracle下载oracle驱动程序,并将.jar文件放入项目的类路径中
你可以从下载,我会把它放在weblogic的lib文件夹中。。。然后重新启动服务器,这样您就可以确定这是一个类路径问题 您应该从oracle下载oracle驱动程序,并将.jar文件放入项目的类路径中
您可以在
java.lang.ClassNotFoundException:oracle.jdbc.OracleDriver下载它,这意味着所提到的类不在类路径上。因为ojdbc5.jar
有它,所以整个问题是:“您是如何设置类路径的?”
以下是我使用您的代码(使用默认软件包)在我的机器上得到的信息:
$cat>Driver.java
...
$javac Driver.java
$java-cp/home/pascal/opt/Oracle/Middleware/wlserver_10.3/server/ext/jdbc/Oracle/11g/ojdbc5.jar:。司机
线程“main”java.sql.SQLException中出现异常:网络适配器无法建立连接
位于oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
位于oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131)
位于oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:197)
位于oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:525)
位于oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:413)
位于oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:508)
位于oracle.jdbc.driver.T4CConnection(T4CConnection.java:203)
位于oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
位于oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)
位于java.sql.DriverManager.getConnection(DriverManager.java:582)
位于java.sql.DriverManager.getConnection(DriverManager.java:185)
位于Driver.main(Driver.java:15)
原因:oracle.net.ns.NetException:网络适配器无法建立连接
在oracle.net.nt.connstategy.execute(connstategy.java:328)
位于oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:421)
位于oracle.net.ns.NSProtocol.buildConnection(NSProtocol.java:634)
位于oracle.net.ns.NSProtocol.connect(NSProtocol.java:208)
位于oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:966)
位于oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:292)
... 还有7个
原因:java.net.ConnectException:连接被拒绝
位于java.net.PlainSocketImpl.socketConnect(本机方法)
位于java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
位于java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
位于java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
位于java.net.socksocketimpl.connect(socksocketimpl.java:366)
位于java.net.Socket.connect(Socket.java:529)
位于java.net.Socket.connect(Socket.java:478)
位于java.net.Socket(Socket.java:375)
位于java.net.Socket(Socket.java:189)
位于oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:127)
位于oracle.net.nt.connpoption.connect(connpoption.java:126)
在oracle.net.nt.connstategy.execute(connstategy.java:306)
... 还有12个
找到了驱动程序(我得到了一个异常,因为我没有运行任何Oracle服务器,但这是另一回事)。java.lang.ClassNotFoundException:Oracle.jdbc.OracleDriver
肯定意味着提到的类不在类路径上。因为ojdbc5.jar
有它,所以整个问题是:“您是如何设置类路径的?”
以下是我使用您的代码(使用默认软件包)在我的机器上得到的信息:
$cat>Driver.java
...
$javac Driver.java
$java-cp/home/pascal/opt/Oracle/Middleware/wlserver_10.3/server/ext/jdbc/Oracle/11g/ojdbc5.jar:。司机
线程“main”java.sql.SQLException中出现异常:网络适配器无法建立连接
位于oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
位于oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131)
位于oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:197)
位于oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:525)
位于oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:413)
位于oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:508)
位于oracle.jdbc.driver.T4CConnection(T4CConnection.java:203)
位于oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
位于oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)
位于java.sql.DriverManager.getConnection(DriverManager.java:582)
位于java.sql.DriverManager.getConnection(DriverManager.java:185)
位于Driver.main(Driver.java:15)
原因:oracle.net.ns.NetException:网络适配器无法建立连接
在oracle.net.nt.connstategy.execute(connstategy.java:328)
位于oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:421)
位于oracle.net.ns.NSProtocol.buildConnection(NSProtocol.java:634)
位于oracle.net.ns.NSProtocol.connect(NSProtocol.java:208)
位于oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:966)
位于oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:292)
... 还有7个
原因:java.net.ConnectException:连接被拒绝
位于java.net.PlainSocketImpl.socketConnect(本机方法)
位于java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
在java.net.Plain上
$ cat > Driver.java
...
$ javac Driver.java
$ java -cp /home/pascal/opt/Oracle/Middleware/wlserver_10.3/server/ext/jdbc/oracle/11g/ojdbc5.jar:. Driver
Exception in thread "main" java.sql.SQLException: The Network Adapter could not establish the connection
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:197)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:525)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:413)
at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:508)
at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:203)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at Driver.main(Driver.java:15)
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:328)
at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:421)
at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:634)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:208)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:966)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:292)
... 7 more
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at java.net.Socket.(Socket.java:375)
at java.net.Socket.(Socket.java:189)
at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:127)
at oracle.net.nt.ConnOption.connect(ConnOption.java:126)
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:306)
... 12 more