2016-05-05 67 views
0
import java.sql.*; 
class DbConnection { 

    public static void main(String args[]) throws Exception 
    { 
     //Registering the driver 
     DriverManager.registerDriver(new oracle.jdbc.OracleDriver()); 

     //establish the connection with database 
     Connection con= DriverManager.getConnection("jdbc:oracle:thin:@194.16.247.96:1521:onlspn","onlinedbs", "onlinedbs"); 
     Statement stmt = con.createStatement(); 
     ResultSet rs = stmt.executeQuery("select serno,amt_card from AUTHORIZATIONS where " 
       + " SERNO > (select max(SERNO)-200 from AUTHORIZATIONS) and source " 
       + "in ('VISA','MA01','MA02','MA03','MA10','MA11','MA12','AMA1','AMA2','AMP1','AMP2') order by serno desc"); 

     while (rs.next()) { 
      int empid = rs.getInt("serno"); 
      String fname = rs.getString("amt_card"); 

      System.out.println(empid +'\t'+ fname); 
    } 
    } 

} 

专家帮我连接到我的远程数据库没有合适的驱动程序找到了JDBC:神谕:薄错误

+0

什么JDBC jar文件在你的classpath上? – Andreas

+0

ojdbc6.jar。由于我正在使用eclipse,所以我在那里添加了jar也 –

+0

无法重现。我得到'java.net.ConnectException:连接超时:connect',所以它正确地标识了'jdbc:oracle:thin'作为JDBC驱动程序处理的JDBC URL。 – Andreas

回答

1

我已经尝试了与ojdbc6.jar你的代码的类路径上,它编译并运行良好。 但是,当您运行代码时,它找不到合适的驱动程序。这可能意味着两件事:

  1. (由Andreas指出的无效选项 - 新的OracleDriver()将失败)驱动程序不在运行时类路径中。运行程序时请仔细检查它是否包含在类路径中。
  2. (由于代码在我的测试中运行正常,选项无效)您的JDBC URL中存在语法错误。
  3. 您正在使用旧版本的Oracle JDBC驱动程序。从http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html下载最新的ojdbc6.jar
+0

不能是#1或'new oracle.jdbc.OracleDriver()'会失败。 – Andreas

+0

你是对的,它不会在jdbc:oracle:thin中投诉。我会更新我的答案。 –

+0

仍然我没有得到该怎么做。清楚告诉我,我现在应该检查什么? –

相关问题