Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1503530
  • 博文数量: 3500
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 43870
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-03 20:31
文章分类

全部博文(3500)

文章存档

2008年(3500)

我的朋友

分类:

2008-05-04 20:26:37

一起学习
当数据库运行不正常却又没有报错和警告时,该查查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[]项目的Log4J包,能把数据库警告信息传递给数据库管理员。 下载本文示例代码


在JDBC警告的帮助下修正数据库在JDBC警告的帮助下修正数据库在JDBC警告的帮助下修正数据库在JDBC警告的帮助下修正数据库在JDBC警告的帮助下修正数据库在JDBC警告的帮助下修正数据库在JDBC警告的帮助下修正数据库在JDBC警告的帮助下修正数据库在JDBC警告的帮助下修正数据库在JDBC警告的帮助下修正数据库在JDBC警告的帮助下修正数据库在JDBC警告的帮助下修正数据库
阅读(127) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~