连接Oracle 10g Express Edition和Java
我想连接Oracle 10g Express Edition和Java,我遵循的步骤是: 使用以下文件配置我的类路径: C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar C:\ProgramFiles\Java\jdk1.7.0\U 01\bin C:\oraclexe\app\oracle\product\10.2.0\server\BIN 然后我尝试了以下程序将其与OCI驱动程序连接:连接Oracle 10g Express Edition和Java,java,oracle10g,Java,Oracle10g,我想连接Oracle 10g Express Edition和Java,我遵循的步骤是: 使用以下文件配置我的类路径: C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar C:\ProgramFiles\Java\jdk1.7.0\U 01\bin C:\oraclexe\app\oracle\product\10.2.0\server\BIN 然后我尝试了以下程序将其与OCI驱动程序连接: import java
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();
}
}
}
使用瘦驱动程序也可以:
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();
}
}
}
在这两种情况下,程序都会编译,但引发错误的行是:
类forName(“oracle.jdbc.driver.OracleDriver”)
有什么帮助吗?
谢谢首先,从类路径中删除
C:\ProgramFiles\Java\jdk1.7.0\u 01\bin
。这与此无关
其次,问题在于运行时类路径。记住,编译时类路径和运行时类路径是两个不同的东西。您是否使用IDE(如Eclipse)来运行此功能?如果是这样,请检查哪些类路径条目在运行时生效。在Eclipse中,您可以通过查看为运行应用程序而创建的启动配置(请参阅“Classpath”选项卡)来获得此信息
如果通过命令行设置类路径,那么可能会出现“代码>程序文件< /代码>中的空白。尝试用引号括住整个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());
}
我没有使用Eclipse,我使用的是JGrasp,操作系统是Windows 7,所以我尝试使用带引号和不带引号的classpath参数,但问题没有解决该行抛出了什么错误?您可以编辑您的问题并添加堆栈跟踪吗?