// 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!");
}
}
}
我有一个名为odbc14.jar的
的jdbc jarjavac -classpath odbc14.jar; DbConnector.java
编译成功
java -classpath odbc14.jar; DbConnector
输出:: -------- Oracle JDBC连接测试------ 您的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)
请帮我解决这个问题
我已经解决了上述问题。现在我开始了新的例外
-------- Oracle JDBC连接测试------ 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)
答案 0 :(得分:5)
与JDBC
一起使用的ojdbc14.jar
驱动程序为oracle.jdbc.OracleDriver
。
答案 1 :(得分:1)
将odbc14.jar这个JAR放在所需的JRE路径中,如“C:\ Program Files \ Java \ jdk1.7.0_65 \ jre \ lib \ ext”。
这可以解决您的问题。
答案 2 :(得分:0)
将ojdbc14.jar
放入<jdk_home>\jre\lib\ext
并将ADD放入CLASSPATH
变量中,然后在编译或运行时不必指定类路径
如果您使用的是java6,则oracle.jdbc.driver.OracleDriver
可以,但不推荐使用。所以最好使用oracle.jdbc.OracleDriver
答案 3 :(得分:0)
你应该
try {
Class.forName("oracle.jdbc.OracleDriver");
}
并将odbc14.jar
放在类路径中(如果尚未完成)
答案 4 :(得分:0)
只需要将appsclassloader放入您的类路径中。我不确定,为什么我们需要放入jre / lib / ext