你们好!我还是同样的问题向你请教:下面是我的程序代码:
import java.sql.*;
import javax.swing.*;class ConnectServer2{
  static Connection con=null;
  public static boolean conn(String url,String username,String password){
    try{
       Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
       }catch(Exception e){e.printStackTrace();return false;}
    try{
       con=DriverManager.getConnection(url,username,password);
       }catch(SQLException e){e.printStackTrace();return false;}
      return true;  }//end method conn
  public static boolean close(){
    try{
      con.close();
      con=null;
       }catch(SQLException e){return false;}
     return true;  }//end close
  public static void main(String args[]){
   if(conn("jdbc:oracle:thin:@localhost:1521:xsda","SYSTEM","cnqig")){
    JOptionPane.showMessageDialog(null,"数据库连接成功!");
     close();
     }
   else
    JOptionPane.showMessageDialog(null,"数据库连接失败!");
   }//end method main
}//enc class 
我也把驱动类classes12.jar加入classpath去了,但在没有加入internet网的电脑可以连接成功,在加入internet网的电脑上却出现以下错误代码:java.sql.SQLException: Listener refused the connection with the following error:ORA-12505, TNS:listener does not currently know of SID given in connect descript
or
The Connection descriptor used by the client was:
localhost:1521:xsda        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java
:112)
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java
:261)
        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
        at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:
414)
        at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
        at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtensio
n.java:35)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at ConnectServer2.conn(ConnectServer2.java:11)
        at ConnectServer2.main(ConnectServer2.java:25)
我把localhost换成我的IP地址192.168.1.17却出现以下错误:
java.sql.SQLException: Io 异常: Bad packet type
        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:
414)
        at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
        at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtensio
n.java:35)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at ConnectServer2.conn(ConnectServer2.java:11)
        at ConnectServer2.main(ConnectServer2.java:25)
我怎的搞不懂是怎么回事,请老师们指教!在此感谢!盼尽快回复!

解决方案 »

  1.   

    ORA-12505, TNS:listener does not currently know of SID given in connect descript SID 错误建议你更新你的驱动。classes12 这个太老了。Oracle 自带的驱动应该叫 ojdbc.jar 
    用最新版的哦!
      

  2.   

    ORA-12505, TNS:listener does not currently know of SID given in connect descript 
    or 
    The Connection descriptor used by the client was: 
    localhost:1521:xsda 
    这个你没有配置正确吗?去net manager里看看,设置一下。有个readme.txt好像说明了classes12,ojdbc.jar这些文件是适用于哪些jdk的,尽量使之对应吧。