0
我想从当前日期中选择比7天早的行。使用的数据库是DB2版本9.在准备好的语句中执行查询时应用程序挂起
您能告诉我在查询中我可以如何使用datetime吗?日期表字段的类型是时间戳。
我能够手动运行查询没有问题。但是,当我在准备好的语句中使用时,
执行查询结果时应用程序挂起= pselect.executeQuery();因此我们需要重新启动db2实例才能清除它。 你可以请帮忙,可能是什么问题?我没有看到任何例外。代码的其他部分工作正常,如果我删除select_query部分。
try{
String select_query = "SELECT URL_ID ,URLVAL FROM URL_TAB WHERE " +
"UPDATED_DATE < TIMESTAMP(CURRENT_DATE - 7 DAYS, '00.00.00')";
System.out.println("select_query=" + select_query);
conn = JDBCDataObjectFactoryManager
.getConnection("JDBCConnectionFactory-SDE");
pselect = conn.prepareStatement(select_query);
System.out.println("pselect=" + pselect);
try{
System.out.println("inside try");
result = pselect.executeQuery();
System.out.println("result=" + result);
}catch(Exception e){
System.out.println("inside catch");
System.out.println("error message==============>"+e.getMessage());
}
if ((result != null) && (result.next())) {
System.out.println("3 >>>>>>>>>>>>>>>>>>>>>>>>>");
url_id = result.getInt(1);
url = result.getString(2);
}//end if
表中只有1个匹配的行和4条记录。所以我相信这可能不是性能问题。我有时看到异常可能是2/10次。因此很难追查什么是根本原因。 DBA表示这是应用程序错误。 – smiley
我将检查LOCKWAIT参数值并将其设置为60秒,看看会发生什么。谢谢胡克西奥。 – smiley
如果从命令行运行该查询,会发生什么情况?您也可以尝试查看JDBC跟踪 - [请参阅此处如何打开它](http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.admin .trb.doc/doc/t0020709.html) - 获取更多线索。 – mustaccio