Jdbc 无法在简单java类中加载OracleDriver类
//DbConnector.javaJdbc 无法在简单java类中加载OracleDriver类,jdbc,java,Jdbc,Java,//DbConnector.java import java.sql.DriverManager; import java.sql.Connection; import java.sql.SQLException; public class DbConnector { public static void main(String[] argv) { System.out.println("-------- Oracle JDBC Connection Testing
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
public class DbConnector {
public static void main(String[] argv) {
System.out.println("-------- Oracle JDBC Connection Testing ------");
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
System.out.println("Where is your Oracle JDBC Driver?");
e.printStackTrace();
return;
}
System.out.println("Oracle JDBC Driver Registered!");
Connection connection = null;
try {
connection = DriverManager.getConnection(
"jdbc:oracle:thin:@172.17.119.108:1526:GESSDEV", "username",
"password");
} catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
e.printStackTrace();
return;
}
if (connection != null) {
System.out.println("You made it, take control your database now!");
} else {
System.out.println("Failed to make connection!");
}
}
}
我有一个名为odbc14.jar的jdbc jar
javac-classpath odbc14.jar;DbConnector.java
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
public class DbConnector {
public static void main(String[] argv) {
System.out.println("-------- Oracle JDBC Connection Testing ------");
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
System.out.println("Where is your Oracle JDBC Driver?");
e.printStackTrace();
return;
}
System.out.println("Oracle JDBC Driver Registered!");
Connection connection = null;
try {
connection = DriverManager.getConnection(
"jdbc:oracle:thin:@172.17.119.108:1526:GESSDEV", "username",
"password");
} catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
e.printStackTrace();
return;
}
if (connection != null) {
System.out.println("You made it, take control your database now!");
} else {
System.out.println("Failed to make connection!");
}
}
}
编译成功
java-classpath odbc14.jar;数据库连接器
输出::
----oraclejdbc连接测试---
您的Oracle JDBC驱动程序在哪里
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at DbConnector.main(DbConnector.java:13)
请帮我解决这个问题
我已经解决了上述问题。现在我有了新的例外
----oraclejdbc连接测试---
Oracle JDBC驱动程序已注册!
连接失败!检查输出控制台
java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:420)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
与ojdbc14.jar一起使用的JDBC驱动程序是oracle.JDBC.OracleDriver
请参阅:将ojdbc14.jar放入\jre\lib\ext和ADD-in类路径变量中,这样您就不必在编译或运行时指定类路径
如果您使用的是java6,那么oracle.jdbc.driver.OracleDriver是可以的,但不推荐使用。所以最好使用oracle.jdbc.OracleDriver,您应该
try {
Class.forName("oracle.jdbc.OracleDriver");
}
如果尚未完成,请将odbc14.jar放入类路径中只需将其放入类路径appsclassloader中即可。我不确定,为什么我们需要放入jre/lib/ext只需将odbc14.jar放入所需的jre路径,如C:\Program Files\Java\jdk1.7.0\u 65\jre\lib\ext
这应该可以解决您的问题。如果您的jar是odbc14.jar而不是ojdbc14.jar,那么请提取您的odbc14.jar并找到OracleDriverDon类,您是说ojdbc14.jar吗?执行jar tvf jarfile并检查它是否包含您期望的OracleDriver是的。这是ojdbc14.jar。里面有一个类OracleDriver。谢谢Reimeus。它正在工作。名称c:\bea\jdk150_06\bin>java-classpath ojdbc14.jar中有一些错误;DbConnector----Oracle JDBC连接测试---Oracle JDBC驱动程序已注册!连接失败!检查输出控制台java.sql.SQLException:Io异常:网络适配器无法在oracle.jdbc.driver.DatabaseError.throwsqleexceptiondatabaseerror.java:112在oracle.jdbc.driver.DatabaseError.throwsqleexceptiondatabaseerror.java:146在oracle.jdbc.driver.DatabaseError.throwSqlExceptionDatabaseError.java:255这是我现在遇到的异常终于解决了。指定的connectionURL有问题。