Bug 183591 ResultSets opened during querying metadata are not closed - it can cause exception on Oracle
Build ID: 2.2.0.v20070329 Steps To Reproduce: 1.Create report with multiple stored procedures and oracle connection. 2.Generate report and check number of opened cursors on Oracle side. 3.If number of opened cursor exceeds Oracle limit, exception is thrown. More information: ResultSets opened in org.eclipse.birt.report.data.oda.jdbc.CallStatement - methods createSchemaList and getCallableParamMetaData are not closed.
data/org.eclipse.birt.report.data.oda.jdbc/src/org/eclipse/birt/report/data/oda/jdbc/CallStatement.java
if ( parameterDefn.getParameterType( i ) != Types.CHAR )
			return parameterDefn.getParameterType( i );
		List paramMetaDataList = getCallableParamMetaData( );
		if ( paramMetaDataList != null && !paramMetaDataList.isEmpty( ) )
			return ( (ParameterDefn) paramMetaDataList.get( i ) ).getParamType( );
		else
			return parameterDefn.getParameterType( i );
	}
	
	/**
	 * 
	 * @param position
	 * @param type
	 * @throws OdaException
	 */
	void registerOutParameter( int position, int type ) throws OdaException
	{
		assertNotNull( callStat );
		try
		{
			callStat.registerOutParameter( position, type );
		}
		catch ( SQLException e )
		{
			throw new JDBCException( ResourceConstants.QUERY_EXECUTE_FAIL, e );
		}
	}
	
	/**
	 *