连接JDBC的两种方式?
import java.sql.*;
class Employee{
public static void main (String args []) throws SQLException{
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
String url = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.105)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ora920)))";
//url = "jdbc:oracle:thin:@192.168.0.105:1521:ora920";
String userName = "affair";
String password = "affair";
Connection conn =DriverManager.getConnection (url, userName, password);
// Create a Statement
Statement stmt = conn.createStatement ();
// Select the ENAME column from the EMP table
ResultSet rset = stmt.executeQuery ("select * from emp");
// Iterate through the result and print the employee names
while (rset.next ()){
System.out.print (rset.getString (1) + "\t");
System.out.print (rset.getString (2) + "\t");
System.out.print (rset.getString (3) + " \t");
System.out.print (rset.getString (4) + "\t");
System.out.println (rset.getString (5));
}
conn.close();
}
}
classpath我已经设定了oracle\ora92\jdbc\lib\classes12.jar,而且上面代码是可以正常运行的,但是如果使用其中的“url = "jdbc:oracle:thin:@192.168.0.105:1521:ora920";”
就出现以下错误:
java.sql.SQLException: I/O错误。: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153092352)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:404)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at Employee.main(Employee.java:11)
Exception in thread "main"