社区
Java SE
帖子详情
如何判断数据库连接已关闭
52qhy
2011-11-29 10:27:44
我写的一个程序里面需要不断的向oracle数据库中插入或更新数据,如果在插入或更新数据库的过程中由于服务器关机或网络中断等原因导致数据库连接中断就需要停止更新数据库的线程运行,那么如何检测数据库连接已关闭呢?如果在抛出的异常中判断的话,由于我只希望只在数据库连接中断的情况下停止线程运行,其他数据库错误则不停止,如何区分这两种情况呢?还有无更好的解决方法呢?多谢了
...全文
720
5
打赏
收藏
如何判断数据库连接已关闭
我写的一个程序里面需要不断的向oracle数据库中插入或更新数据,如果在插入或更新数据库的过程中由于服务器关机或网络中断等原因导致数据库连接中断就需要停止更新数据库的线程运行,那么如何检测数据库连接已关闭呢?如果在抛出的异常中判断的话,由于我只希望只在数据库连接中断的情况下停止线程运行,其他数据库错误则不停止,如何区分这两种情况呢?还有无更好的解决方法呢?多谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Derek-Chen
2011-11-29
打赏
举报
回复
思路:可以根据异常的类型(由于插入或更新数据失败或者服务器关机或网络中断等原因 等等,抛出的异常也不一样),可以捕获不同类型的异常,做不同的处理。
良才2015
2011-11-29
打赏
举报
回复
[Quote=引用 4 楼 jayyounger 的回复:]
Connection
isClosed()
查询此 Connection 对象是否已经被关闭。
或
isValid(int timeout)
如果连接尚未关闭并且仍然有效,则返回 true。
[/Quote]
下面是api的解释
isClosed
boolean isClosed()
throws SQLException查询此 Connection 对象是否已经被关闭。如果在连接上调用了 close 方法或者发生某些严重的错误,则连接被关闭。只有在调用了 Connection.close 方法之后被调用时,此方法才保证返回 true。
通常不能调用此方法确定到数据库的连接是有效的还是无效的。通过捕获在试图进行某一操作时可能抛出的异常,典型的客户端可以确定某一连接是无效的。
返回:
如果此 Connection 对象是关闭的,则返回 true;如果它仍然处于打开状态,则返回 false
抛出:
SQLException - 如果发生数据库访问错误
所以,最好不实用isClosed来确定到数据库的连接是有效的还是无效的。
试试isValid吧
原来缘来
2011-11-29
打赏
举报
回复
Connection
isClosed()
查询此 Connection 对象是否已经被关闭。
或
isValid(int timeout)
如果连接尚未关闭并且仍然有效,则返回 true。
孟祥月
2011-11-29
打赏
举报
回复
那你就只捕获关机的异常
随心-
2011-11-29
打赏
举报
回复
[Quote=引用 1 楼 chenhaijing 的回复:]
思路:可以根据异常的类型(由于插入或更新数据失败或者服务器关机或网络中断等原因 等等,抛出的异常也不一样),可以捕获不同类型的异常,做不同的处理。
[/Quote]
.
判断
数据库连接
状态,并且在数据库记录
博主在传统行业写代码,目前遇到了这样一个需求:客户那边数据显示经常出现问题,希望看到问题出在哪里,但是log4j日志他们看不懂,所以希望我们提供一个通俗的说法给他们看,给他们展示是哪些数据库出了问题,出了什么样的问题。我们暂把
数据库连接
的状态定为四种:第一次连接初始化成功;初始化失败;
数据库连接
异常;
数据库连接
恢复。首先我们要知道程序启动过后,数据库断开连接,程序不会停止,也就是说还运行在后台,在...
c# mysql
判断
连接状态_C#
判断
数据库连接
是否打开
C#
判断
数据库连接
是否打开(2010-01-02 14:08:03)标签:it根据平常的思维你应该在之前打开,然后
判断
它的状态。测试代码如下:1 连接数据库try{String commandText="select count(*) from users";SqlConnection conn = new SqlConnection();conn.ConnectionString = "Dat...
经典的
判断
数据库连接
断开问题
经典的
判断
数据库连接
断开问题 分类: C#代码类2013-01-13 17:123040人阅读评论(0)收藏举报 程序正常连接状态下,服务器重启、或网络断开等原因将导致
数据库连接
非正常断开,这时ADOConnection1.Connected、ADOConnection1.State都显示是连接状态(分别为Tr
java
判断
数据库连接
是否有效的方法
java.sql.Connection类有两个方法可以
判断
连接是否有效 一个是java.sql.Connection#isValid 一个是java.sql.Connection#isClosed 这两个方法的应用场景区别还是很大的 首先看isClosed方法 org.apache.commons.dbcp2.DelegatingConnection#isClosed 这方法是
判断
java对象Connection对象是否是连接状态,而不是到数据库的连接是否正常。比如数据库宕机,Connection对象的状
为什么要使用
数据库连接
池,每次连接都
关闭
,数据库默认100条连接?
疑惑 1、使用
数据库连接
池有什么好处? 2、我
关闭
数据库连接
,即使不是立即回收,100个连接也够了? 3、我用了
数据库连接
池,为什么还是不管用? 解惑 第一个问题 假设设置
数据库连接
池最小连接数是13 1、
数据库连接
池就是开13个线程连接数据库;(13个连接不会
关闭
,除非程序关了) 2、在执行对数据库操作中使用连接池里的连接,用完只要
关闭
连接,就等于把连接还回池子里面; 3、池子...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章