DBUtil.java 这个类 贴出来看看。
2个异常信息:
1、DBUtil.java里的第77行 抛了一个空指针异常。
2、java.sql.SQLException: Io 异常: Connection refused,数据库连接不上,工程中有数据库的连接驱动JAR包吗
2个异常信息:
1、DBUtil.java里的第77行 抛了一个空指针异常。
2、java.sql.SQLException: Io 异常: Connection refused,数据库连接不上,工程中有数据库的连接驱动JAR包吗
解决方案 »
- 乱码问题 在线等
- jsp中怎么做下拉列表啊?
- jsp的forward和include的应用
- 急!web程序能用javax.swing.JFileChooser来获得客户端设置的保存路径吗?
- jsp下载问题
- 兄弟们,帮帮忙,为什么struts1.1 和org.apache.commons.fileupload不能一起使用呢?
- 用JAVA实现sqlserver通用分页?该分页程序为通用分页,根据传递参数定位表。
- 如何使用户退出系统(返回到登陆界面)时不能通过“后退”按钮重新返回到主界面
- resin2.1.4安装问题
- 请问 java.lang.LinkageError 怎么解决,百度了一晚上好像是maven依赖冲突问题,但是实在查不出来啊,来个大佬指导一下
- 请教DW中图片源文件的<%=img%>表示什么意思?
- 求救高手!急
如果数据库端没有问题,检查应用程序的数据库参数配置和检查各种数据库驱动的JAR是否已经导入。
DBUtil.java
package com.bu3g.book.util;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class DBUtil {
private Connection con = null; //这就是一个连接的对象 public DBUtil() {
} public DBUtil(Connection con) {
this.con=con; //产地一个连接的对象进行连接
} /**
* 获得一个数据库连接
*
* @return 数据库连接
*/
public Connection getConnection() { // 获取一个对象多的函数。。
try {
if (con==null || con.isClosed()==true) { // 连接关闭或者是连接,,,类
Class.forName("oracle.jdbc.OracleDriver"); // oracle.jdbc.OracleDriver
//try{
this.con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ora9i","scott","tiger");
//这是、数据定位符。。userpassword。。("jdbc:oracle:thin:@localhost:1521:ora9i","scott","tiger");
//}catch(Exception e){System.out.print("1、"+e);}
}
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return this.con;
}
/**
* 执行增,删,改,的SQL语句
* @param sql 要执行的语句
* @return 成功执行后影响的记录行数
*/
public int excuteUpdate(String sql){
Connection con=this.getConnection();
Statement st=null;
int rs=-1;//保存影响记录数
try {
st=con.createStatement();
rs=st.executeUpdate(sql);
System.out.println(sql);
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}finally{
this.closeStatement(st);
this.closeConnection();
}
return rs;
}
/**
* 执行查询
* @param sql
* @return 包含多行的结果集对象
*/
public ResultSet query(String sql){
Connection con=this.getConnection();
Statement st=null;
ResultSet rs=null;
try {
st=con.createStatement();
//System.out.print(st);
rs=st.executeQuery(sql);
System.out.println(sql);
} catch (SQLException e) {
// TODO 自动生成 catch 块
//e.printStackTrace();
System.out.print("2"+e);
}
return rs;
}
public void closeConnection(){
try {
if (this.con!=null && this.con.isClosed()!=true) {
this.con.close();
this.con=null;
}
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
public void closeStatement(Statement st){
if (st!=null) {
try {
st.close();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
public void closeResultSet(ResultSet rs){
if (rs!=null) {
try {
rs.close();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
public void closeAll(Connection con,Statement st,ResultSet rs){
if (rs!=null) {
try {
rs.close();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
if (st!=null) {
try {
st.close();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
try {
if (con!=null && con.isClosed()!=true) {
con.close();
con=null;
}
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
public static void main(String[] args) {
DBUtil obj=new DBUtil();
// int rs=obj.excuteUpdate("insert into adminInfo (aid, aname, amail, alogin, apass, atishi) values(seq_admininfo.nextval,'张三2','[email protected]','admin666','123123','123')");
// obj.closeConnection();
// System.out.println(rs);
ResultSet rs=obj.query("select * from adminInfo");
try {
while (rs.next()) {
System.out.print(rs.getString("aname")+" ");
System.out.println(rs.getString("alogin"));
}
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}finally{
obj.closeResultSet(rs);
obj.closeConnection();
}
}
}
不编译运行看不到问题。。不报错。。一旦编译运行就会 报上面的错误。。
报错code是ora-12505, 连接listener失败, 你用sql plus试下。
关于这个错误代码的详细信息,你可以上网搜下。
1、数据库的IP地址是否正确?
2、数据库的SID是否正确?
3、数据库的用户名/密码是否正确?补充,可以通过以下语句察看当前数据库的SID:
select INSTANCE_NAME from v$instance; --查看当前数据的库sid
但是这个IP 着呢么找的呢? SID那里去找??
再就是"scott","tiger"这个是用user=“xe”,password=“12321”吗??