我想连接Oracle 10g Express Edition和Java,遵循的步骤是:
使用以下文件配置我的类路径:
C:\ oraclexe \ app \ oracle \ product \ 10.2.0 \ server \ jdbc \ lib \ ojdbc14.jar
C:\ Program Files \ Java \ jdk1.7.0_01 \ bin
C:\ oraclexe \ app \ oracle \ product \ 10.2.0 \ server \ BIN
然后,我尝试使用以下程序将其与OCI驱动程序连接:
import java.sql.*;
public class OracleOCIConnection
{
public static void main(String args[])
{
try
{
// load oracle driver
Class.forName("oracle.jdbc.driver.OracleDriver");
// connect using Native-API (OCI) driver
Connection con = DriverManager.getConnection("jdbc:oracle:oci8:@","hr","hr" );
System.out.println("Connected Successfully To Oracle using OCI driver");
con.close();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}
以及使用Thin驱动程序:
import java.sql.*;
public class OracleThinConnection
{
public static void main(String args[])
{
try
{
// load oracle driver
Class.forName("oracle.jdbc.driver.OracleDriver");
// connect using Thin driver
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
System.out.println("Connected Successfully To Oracle");
con.close();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}
在两种情况下,程序都进行编译,但是引发错误的行是:
Class.forName(“ oracle.jdbc.driver.OracleDriver”);
有帮助吗?谢谢
首先,从类路径中删除C:\Program Files\Java\jdk1.7.0_01\bin
。它与它无关。
第二,问题出在您的运行时类路径上。请记住,编译时类路径和运行时类路径是两件事。您是否正在使用IDE(例如Eclipse)来运行它?如果是这样,请检查哪些类路径条目在运行时生效。在Eclipse中,您可以通过查看为运行您的应用程序而创建的启动配置来获得此信息(请参见“ Classpath”选项卡)。
如果通过命令行设置类路径,则可能是Program Files
中的空白是问题所在。尝试用引号将整个classpath参数引起来。
我使用ojdb6.jar而不是ojdbc14.jar,它对我来说很好,这是我的代码
try{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String dbAddress = "localhost";
Connection con = DriverManager.getConnection("jdbc:oracle:thin:hr/hr@"+dbAddress+":1521/XE");
if(!con.isClosed()){
System.out.println("Connection Successful");
}else{
System.out.println("Connection is Closed);
}
}
catch(Exception ex){
System.out.println("Error :"+ex.getMessage());
}