如何将java程序与oracle 11g连接

如何将java程序与oracle 11g连接,java,oracle,jdbc,oracle11g,Java,Oracle,Jdbc,Oracle11g,我用JAVA编写了这段代码 public class Mian { public static void main(String[] args) { try { Class.forName("oracle.jdbc.Driver.OracleDriver"); Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521

我用JAVA编写了这段代码

public class Mian {

    public static void main(String[] args) {

         try {
            Class.forName("oracle.jdbc.Driver.OracleDriver");
            Connection conn =  DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:aaa","aaa","aaa");
            Statement st = conn.createStatement();
        } catch (Exception e) {
            System.out.println("error : " + e);
        }  
    }
}
我无法连接由oracle 11g创建的数据库

Database name = aaa ,,, user name = aaa ,,, password = aaa
我在我的项目ojdbc6.jar中导入驱动程序

为什么在运行程序时显示此错误

错误:java.lang.ClassNotFoundException:oracle.jdbc.Driver.OracleDriver


每当您看到ClassNotFoundException时,您都会遇到以下两个问题之一:

  • 您对类使用了错误的名称
  • 类路径中缺少某些内容
  • 在本例中,您需要使用前面建议的“oracle.jdbc.driver.OracleDriver”

    您还需要一个来自Oracle的名为“ojdbc#number#.jar”的jar文件,其中#number#是您希望代码在其上执行的Java的最低版本。例如,“ojdbc6.jar”仅适用于Java6或更高版本

    如果您的代码实际上是编译的,那么您的编译类路径中就有这个jar。在执行代码时,在运行时类路径中也需要它

    您真的确定有一个运行在本地主机上的Oracle副本,其SID或服务名为“aaa”吗?这似乎极不可能。如果您使用的是Oracle Exppress,那么它就是“XE”。这意味着您的URL将是:

    jdbc:oracle:thin:@localhost:1521:XE","aaa","aaa"
    

    尝试使用
    oracle.jdbc.driver.OracleDriver
    (小写d)。而且,如果我没记错的话,驱动程序被移动到了
    oracle.jdbc.OracleDriver
    (第一个已被弃用)。您是否尝试过搜索
    ClassNotFoundException
    的意思?在我编辑之后,它显示了新的错误“java.sql.SQLException:Listener拒绝连接,出现以下错误:ORA-12505,TNS:Listener当前不知道连接描述符中给出的SID”,这段代码是什么意思?