在JDBC警告的帮助下修正数据库

<script type="text/javascript"> google_ad_client = "pub-8800625213955058"; /* 336x280, 创建于 07-11-21 */ google_ad_slot = "0989131976"; google_ad_width = 336; google_ad_height = 280; // </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 当数据库运行不正常却又没有报错和警告时,该查查Java数据库连接(JDBC)警告信息。这些警告能帮助我们找到未知的错误,修正费解的缺陷和调整数据库。 有三种提供JDBC警告的类:java.sql.Statement,java.sql.Connection,java.sql.ResultSet。这三种类都有getWarnings()方法返回SQLWaring对象。 该对象是SQLException的扩展,它以与SQLException封装错误信息集相同的方式封装了警告信息集。 很容易打印出SQLWaring信息: package com.generationjava.sql; import java.sql.SQLWarning; public final class JdbcW { static public void printWarnings(SQLWarning warning) { if(warning == null) { return; } System.err.println( formatWarnings(warning) ); } static public String formatWarnings(SQLWarning warning) { StringBuffer buffer = new StringBuffer(); while(warning != null) { buffer.append("SQLWarning: "); buffer.append( warning.getMessage() ); buffer.append("/nSQL State: "); buffer.append( warning.getSQLState( )); buffer.append("/nErrorCode: "); buffer.append( warning.getErrorCode( )); buffer.append("/n"); warning = warning.getNextWarning(); } return buffer.toString(); } } 下面是如何使用这个类: Connection connection = ....; JdbcW.printWarnings(connection.getWarnings()); Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM Users"); JdbcW.printWarnings(stmt.getWarnings()); JdbcW.printWarnings(rs.getWarnings()); 最后,使用Apache Jakarta[http://jakarta.apache.org/log4j/docs/index.html]项目的Log4J包,能把数据库警告信息传递给数据库管理员。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值