package com.bjpowernode.drp.util;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;/**
* 数据库工具类
* @author Administrator
*
*/
public class DBUtil { /**
* 取得数据库连接
* @return
*/
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String dbUrl = "jdbc:oracle:thin:@localhost:1521:esoar";
String username = "drp";
String password = "drp";
conn = DriverManager.getConnection(dbUrl, username, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void close(PreparedStatement pstmt) {
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void close(Connection conn) {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void close(ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void commit(Connection conn) {
if (conn != null) {
try {
conn.commit();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void rollback(Connection conn) {
if (conn != null) {
try {
conn.rollback();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void setAutoCommit(Connection conn, boolean autoCommit) {
if (conn != null) {
try {
conn.setAutoCommit(autoCommit);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void close(Statement stmt) {
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
DBUtil.getConnection();
System.out.println("---------ok---------");
}
}
这是我的代码,代码应该没问题
用户名和密码 数据库都没问题
唉,这是什么原因,郁闷死了
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;/**
* 数据库工具类
* @author Administrator
*
*/
public class DBUtil { /**
* 取得数据库连接
* @return
*/
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String dbUrl = "jdbc:oracle:thin:@localhost:1521:esoar";
String username = "drp";
String password = "drp";
conn = DriverManager.getConnection(dbUrl, username, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void close(PreparedStatement pstmt) {
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void close(Connection conn) {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void close(ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void commit(Connection conn) {
if (conn != null) {
try {
conn.commit();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void rollback(Connection conn) {
if (conn != null) {
try {
conn.rollback();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void setAutoCommit(Connection conn, boolean autoCommit) {
if (conn != null) {
try {
conn.setAutoCommit(autoCommit);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void close(Statement stmt) {
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
DBUtil.getConnection();
System.out.println("---------ok---------");
}
}
这是我的代码,代码应该没问题
用户名和密码 数据库都没问题
唉,这是什么原因,郁闷死了
这种时候对应的数据表处于锁定状态,jdbc会一直等...
这种时候对应的数据表处于锁定状态,jdbc会一直等...
我没有用到表啊,代码中,我只是想测试一下是否能连接上数据库,肯定是死锁了,我知道用什么办法解决, 哪位能帮帮我, 我QQ 1175210752
这程序我试过,就换了个URL,可以执行。
检查下URL是否正确。啦啦啦,继续关注~
啊,URL有问题,我怎么不知道,那有问题呀
把localhost修改为IP试试
jdbc:oracle:thin 这个基本不会错了
@localhost 查查 Oracle的 tnsname.ora 看看里面有没有限定IP,还要查查本地 localhost 能不能被解析
1521: 查查Oracle的配置,看你是不是用的缺省端口
esoar: 查查看你有没有这个TableSpace,用其他工具打开试试就想到这么多了
数据库说:我已经和你连接上了,请发送你要查询的条件
程序说:我没有要查询的东西,请你返回我要的东西。
数据库说:快发啊
程序说:快发啊
。
。
楼主试下在调用了getconnection方法后再调用下close方法看行不。
再公司,没有Eclipse。囧~
很多方法我都试过了,从网上copy下来的复杂查询代码,运行还是一样的结果。
人家的那个代码绝对没有破绽,但是运行后还是一样的结果,卡住不动 彻底无语了
检查你自己的代码!!!!!
conn = DriverManager.getConnection(dbUrl, username, password);第一种方案不行,建议你在这句话前后都打印下语句,看看能不能都打印出来。
* 取得数据库连接
* @return
*/
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String dbUrl = "jdbc:oracle:thin:@localhost:1521:esoar";
String username = "drp";
String password = "drp";
conn = DriverManager.getConnection(dbUrl, username, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}public static void main(String[] args) {
DBUtil.getConnection();
System.out.println("---------ok---------");
}请注意以上代码!!!!!
是连接了,连接之后呢?
System.out.println("---------ok---------");后台打印了吗?
最起码写个select语句看看吧,一直开着连接当然死了