连接JDBC的两种方式有什么不一样?

h235h3h 2004-06-15 06:41:30
String url = "jdbc:oracle:thin:@asp_sv:1521:ora920";

String url = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=asp_sv)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ora920)))";

为什么只有后面一种方式可以连接成功?是因为数据库不在localhost的原因吗?
...全文
224 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
scud 2004-06-17
  • 打赏
  • 举报
回复
可能还有访问不了那个ip,试试ping 192.168.0.105
scud 2004-06-17
  • 打赏
  • 举报
回复
1.端口不是1521
2.sid不对
3.用户名,密码不对
h235h3h 2004-06-17
  • 打赏
  • 举报
回复
scud(飞云小侠)

终于发现是我的错了,抱歉

我把oracle的sid和globaldbname搞混了,前者是o920,后者是ora920

问题已经解决,但我不太知道sid和globaldbname有什么区别
scud 2004-06-16
  • 打赏
  • 举报
回复
报错信息?
Qcj 2004-06-16
  • 打赏
  • 举报
回复
要设置classpath的。
h235h3h 2004-06-16
  • 打赏
  • 举报
回复
我测试了,写
String url = "jdbc:oracle:thin:@192.168.0.105:1521:ora920";
也是连不上,同样的错误,还有其他原因吗?
h235h3h 2004-06-16
  • 打赏
  • 举报
回复
顶一下 :)
h235h3h 2004-06-16
  • 打赏
  • 举报
回复
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"
scud 2004-06-15
  • 打赏
  • 举报
回复
直接写IP...

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧