打造更强的 Java 支持
2008-12-15 16:37:51 来源:WEB开发网// Access the query execution time on DB2 UDB v.8.2 server
query =
"with t1 as " +
"(select * from table (snapshot_appl_info('SAMPLE',-1)) as "+
"snap_appl_info where tpmon_client_app = 'Payroll Module') " +
"select integer(elapsed_exec_time_ms)
from table (snapshot_appl ('SAMPLE',-1)) as snap_appl " +
"where (select agent_id from t1) = snap_appl.agent_id";
resultSet = st.executeQuery (query);
while (resultSet.next()){
System.out.println("Total Query execution time on DB2 Stinger: " +
resultSet.getInt(1) + " milliseconds.");
}
resultSet.close();
这些新的 SQL 函数使 Java 开发人员可以清楚地知道,对于任何查询,网络传输和查询执行各自所占的比重有多大。请注意,要执行快照 SQL 函数,用户必须有 DB2 实例上的 SYSCTRL (或更高)权限。
如果在 JDBC 驱动程序处理期间发生错误,则 DB2 Universal JDBC Driver 会提供基本的 SQL 异常信息以及 DB2 服务器错误细节。现在,让我们修改应用程序,使之包括打印特定于 DB2 的 DB2Diagnosable 对象的细节。我们还将通过将 currentSchema 设置为一个不存在的数据库对象来引入一个 SQL 错误:
prop1.put("currentSchema","FRED"); // Set unqualified references
图 5 展示了 DB2 SQLCA 数据结构。对于使用嵌入式 C 的程序员,这种数据结构可能非常面熟。消息标志指出无效的数据库对象引用(在这个例子中是 FRED.STAFF)。
更多精彩
赞助商链接