//Class UserProfileDBUtil.java
Connection conn = null;
PreparedStatement statment = null;
ResultSet rs = null;
try{
String sqlString = "select count(*) from "+AGENCY_SCHEMA_NAME+".AGENCY WHERE AGENCYCODE= ? and ENABLEDFLAG = ?";
conn = JDBCUtils.getConnection(JDBCUtils.WP_ODS);
statment = conn.prepareStatement(sqlString);
statment.setString(1, agencyCode.toUpperCase());
statment.setString(2, "Y");
rs =statment.executeQuery(); // SQL Error Line 42
while(rs.next())
{
if(rs.getInt(1) > 0 )
{
return true;
}
}
log.error("Agency for agency code "+agencyCode+" is not available or not active");
}
日志:
com.ibm.db2.jcc.b.SqlException:DB2 SQL错误:SQLCODE:-401,SQLSTATE:42818,SQLERRMC:= 在com.ibm.db2.jcc.b.sf.e(sf.java:1680) 在com.ibm.db2.jcc.b.sf.a(sf.java:1239) 在com.ibm.db2.jcc.c.jb.h(jb.java:139) 在com.ibm.db2.jcc.c.jb.a(jb.java:43) 在com.ibm.db2.jcc.c.w.a(w.java:30) 在com.ibm.db2.jcc.c.cc.g(cc.java:161) 在com.ibm.db2.jcc.b.sf.n(sf.java:1219) 在com.ibm.db2.jcc.b.tf.gb(tf.java:1818) 在com.ibm.db2.jcc.b.tf.d(tf.java:2294) 在com.ibm.db2.jcc.b.tf.X(tf.java:508) 在com.ibm.db2.jcc.b.tf.executeQuery(tf.java:491) 在com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.executeQuery(WSJdbcPreparedStatement.java:559) 在UserProfileDBUtil.isAgencyActive(UserProfileDBUtil.java:42)
答案 0 :(得分:1)
您收到的错误是-401
,which means:
操作
operator
的操作数的数据类型不是 兼容或可比较。
我会检查并确保您传入的参数使用正确的数据类型。如果您捕获异常,则应该能够使用异常Message
属性来查看operator
的内容。 See here举个例子。