爱心区 公益下载 公益文章 人在旅途 小博士乐园

>>首页 -> 公益文章 -> 技术文栏 -> java文栏 -> java基本文章 -> 在JDBC警告的帮助下修正数据库



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


作者javasqllike 来源lovesqljava 加入时间:2005-9-20
摘要:
在JDBC警告的帮助下修正数据库
当数据库运行不正常却又没有报错和警告时,该查查Java数据库连接(JDBC)警告信息。这些警告能帮助我们找到未知的错误,修正费解的缺陷和调整数据库。


有三种提供JDBC警告的类:java.sql.Statement,java.sql.Connection,java.sql.ResultS...

转载:转载请保留本信息,本文来自
http://www.51dibs.com/info/23998.htm

在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包,能把数据库警告信息传递给database/oracle/dba/ 数据库管理员。



相关文章

相关软件

客户服务中心信箱:[email protected]