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

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

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

当数据库运行不正常却又没有报错和警告时,该查查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包,能把数据库警告信息传递给数据库治理员。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航