我正在将应用程序从Oracle 10g迁移到Oracle 11g,并且我在“OSubjectsqlmapdao”上包含的方法遇到问题(该应用程序使用ibatis 2)。
public List retrieveList(String user, String flag)throws Exception
{
try{
logger.info("Retreving List");
java.sql.ResultSet rs = null;
Map map = new HashMap();
map.put("user",user);
map.put("flag",flag);
map.put("listRetrieved",null);
List listRetrieved = new ArrayList();
queryForObject("DBListRetrieved",map);
rs = (java.sql.ResultSet)map.get("listRetrieved");
logger.info("HAsmap map " + map.size());
logger.info("HAsmap map " + map.isEmpty());
logger.info("listRetrieved map " + map.get("listRetrieved "));
logger.info("listRetrieved map getClass" + map.get("listRetrieved ").getClass());
OSubject subject = null;
while (rs.next())
{
subject = new OAsuntos();
subject.setUser(rs.getString(1));
subject.setCdode(rs.getString(2));
subject.setDescrip(rs.getString(3));
listRetrieved .add(subject );
}
return listRetrieved ;
}catch(Exception e){
logger.error(e.getMessage());
throw new Exception (e.getMessage());
}
}
OSubject .xml定义如下:
<parameterMap id="parameterMapRetrieveList" class="map">
<parameter property="listRetrieved" javaType="java.lang.Object" jdbcType="ORACLECURSOR" mode="OUT"/>
<parameter property="user" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
<parameter property="flag" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
</parameterMap>
<procedure id="DBListRetrieved" parameterMap="parameterMapRetrieveList">
{ ? = call AS.PCK_LIST.F_RetrieveList(?,?)}
</procedure>
该方法在Oracle 10g中运行良好,但在迁移DDBB后无效。此外,当我没有使用该驱动程序时,地图列表类是根据日志oracle.jdbc.driver,我认为没有被引用或甚至存在于应用程序中。
日志跟踪是:
Retreving List 2014-06-25 14:54:5598 INFO OSubjectSqlMapDao (OSubjectSqlMapDao .java:1268) - HAsmap map 3 2014-06-25 14:54:55,899 INFO OSubjectSqlMapDao(OSubjectSqlMapDao .java:1270) - HAsmap地图 false 2014-06-25 14:54:5599 INFO OSubjectSqlMapDao (OSubjectSqlMapDao .java:1273) - listRetrieved map oracle.jdbc.driver.OracleResultSetImpl@4efd9ac2 2014-06-25 14:54:55,100 INFO OSubjectSqlMapDao(OSubjectSqlMapDao .java:1276) - listRetrieved map getClassclass oracle.jdbc.driver.OracleResultSetImpl 2014-06-25 14:54:55,104 ERROR OSubjectSqlMapDao(OSubjectSqlMapDao .java:1294) - 封闭声明: 下
如果有人可以伸出援助之手,那将会非常有帮助。提前谢谢。