连接oracle出错!!

yvhkpgf 2007-05-18 07:55:20
刚刚开始学习oracle,用ECLIPSE连接oracle 9i时,提示以下错误:
SQLState:null
Message:Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=150999297)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
Vendor:17002
看了半天也没看懂是什么错误,望高人指点
...全文
322 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
大魏老师 2007-05-22
  • 打赏
  • 举报
回复
估计是ORACLE没准备好,或者用户名密码错,后者的可能性大些,因为写着连接被拒绝
likgui 2007-05-21
  • 打赏
  • 举报
回复
关注
coolnan 2007-05-18
  • 打赏
  • 举报
回复
java开发的各种配置真够麻烦,写本书都足够了!
yvhkpgf 2007-05-18
  • 打赏
  • 举报
回复
有可能是这六个错误吗?试试喔,看来挺麻烦的.....
langke93 2007-05-18
  • 打赏
  • 举报
回复
1) duplicate host name in the host file
2) Oracle thin driver version issues
3) JDBC port blocking, ie 1521
4) SID & service name issues
5) Oracle BLOB issues
6) result set exhaust, close it before re-crate one.
yvhkpgf 2007-05-18
  • 打赏
  • 举报
回复
下面是程序代码:
package com.database;
import java.sql.*;
//import java.net.URL;
public class java2oracle {
private static boolean checkForWarning(SQLWarning warn)throws SQLException{
boolean rc=false;
if(warn!=null){
System.out.println("\n***Warning***\n");
rc=true;
while(warn!=null){
System.out.println("SQLState:"+warn.getSQLState());
System.out.println("Message:"+warn.getMessage());
System.out.println("Vendor:"+warn.getErrorCode());
System.out.println("");
warn=warn.getNextWarning();
}
}
return rc;
}
private static void dispResultSet(ResultSet rs)throws SQLException
{
int i;
ResultSetMetaData rsmd=rs.getMetaData();
int numCols=rsmd.getColumnCount();
for(i=1;i<=numCols;i++){
if(i>1)System.out.print(",");
System.out.print(rsmd.getColumnLabel(i));
}
System.out.println("");
boolean more=rs.next();
while(more){
for(i=1;i<=numCols;i++){
if(i>1)System.out.print(",");
System.out.print(rs.getString(i));
}
System.out.println("");
more=rs.next();
}
}
public static void main(String[] args)
{
String sUsr="SH";
String sPwd="*******";
String query="SELECT * from firsttable";
try{
//加载jdbc-odbc桥驱动程序
Class.forName("oracle.jdbc.driver.OracleDriver");
//设置跟踪JDBC执行过程的记录流
//DriverManager.setLogStream(System.out);

//连接到驱动程序,系统中已经注册的驱动程序,将会被依次进行装载和连接
//直到找到一个正确的驱动程序为止
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:SH", sUsr, sPwd);

//如果无法获得连接,将抛出一个异常,所以如果程序已经执行到这里,说明已经连接成功

//检查和显示在连接过程中出现的错误和警告信息
checkForWarning(con.getWarnings());

//建立一个Statement对象,用这个对象向驱动程序发送SQL语句
Statement stmt=con.createStatement();

//提交SQL语句,创建一个ResultSet对象
ResultSet rs=stmt.executeQuery(query);

//显示结果集中所有行和列
dispResultSet(rs);

//关闭结果集
rs.close();

//关闭statement对象
stmt.close();

//关闭连接
con.close();
}
catch(SQLException ex){
//捕获错误信息,并显示其详细信息
System.out.println("\n***SQLException caught***\n");
while(ex!=null){
System.out.println("SQLState:"+ex.getSQLState());
System.out.println("Message:"+ex.getMessage());
System.out.println("Vendor:"+ex.getErrorCode());
ex=ex.getNextException();
System.out.println("");
}
}
catch(java.lang.Exception ex){
ex.printStackTrace();
}
}
}

58,454

社区成员

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

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