Troca database e filtra relatorio do crystal reports

Boa Noite Pessoal,

Estou com o seguinte problema,
Preciso filtrar informações e setar informações de conexão na minha pagina, com o crystal reports.
Porem ate o momento não consegui realizar isto, alguem poderia me ajudar.

Estou fazendo deste modo.

<%@ page language="java" %>  
<%@ page import="com.crystaldecisions.report.web.viewer.*" %>  
<%@ page import="com.crystaldecisions.sdk.occa.report.application.*" %>  
<%@ page import="java.util.Locale" %>  
<%@ page import="java.sql.*" %>  
<%@ page import="java.util.Locale" %>  
<%@ page import="java.lang.String" %>  
<%@ page import="javax.servlet.http.HttpSession" %>  
<%@ page import="com.crystaldecisions.sdk.occa.report.data.*" %>  
<%@ page import="com.crystaldecisions.sdk.occa.report.exportoptions.ReportExportFormat"%>  
<%@ page import="java.io.*" %>  
<%@ page contentType="text/html; charset=ISO-8859-1" %>
<%@ page import="com.br.dao.ParametrosDao" %>  
<%@ page import="com.br.model.Parametros" %> 
<%@ page import="java.util.ArrayList"%>
<%@ page import="java.util.List"%>
<%@ page import="com.br.dao.RelatorioDao" %>  
<%@ page import="com.br.model.Relatorio" %> 
<%@ page import="com.br.util.funcoesArquivos" %>


<%
//Reports can be opened from the relative location specified in the CRConfig.xml, or the report location
//tag can be removed to open the reports as Java resources or using an absolute path (absolute path not recommended
//for Web applications).

	RelatorioDao     relDao     = new RelatorioDao();
 	Relatorio  	  	 rel        = new Relatorio();
 	List<Parametros> listaParam = new ArrayList<Parametros>();
	ParametrosDao    paramDao   = new ParametrosDao();
 	Parametros	   	 param      = new Parametros();
 	List<Relatorio>  listaRel   = new ArrayList<Relatorio>();
 	List<String>     vColunas   = new ArrayList<String>();
 	List<String>     vValores   = new ArrayList<String>();
	String 		  	 pCodReport;
	funcoesArquivos  arq	      = new funcoesArquivos();	
	
	 
	//pCodReport = session.getAttribute("pCodReport").toString();
 	pCodReport = "1";
	vColunas.clear();
	vValores.clear();
	
	vColunas.add("COD_REPORT");
	vValores.add(pCodReport);
	
	listaRel   = relDao.select(vColunas,vValores);
 	listaParam = paramDao.select(null,null);
 	
 	rel   = listaRel.get(0);
 	param = listaParam.get(0);	
 	//rel.getNOM_REPORT()
	final String REPORT_NAME = param.getDSC_PATH_REPORT()+"\\"+"relatorio"+".rpt";
	final String EXPORT_FILE = rel.getNOM_REPORT()+".pdf";
	final String EXPORT_LOC  = "C:\\";
	
	//Open report.
	ReportClientDocument crpe = new ReportClientDocument();
	
	String connectString = ""; // jdbc:sybase:Tds:DBSERVERNAME:9812/DBNAME?ServiceName=DBNAME
    String driverName = "";    // com.sybase.jdbc3.jdbc.SybDriver
    String JNDIName = "DS_APP";
    String userName = "";
    String password = ""; 
	
	
	//ReportClientDocument.inprocConnectionString = "D00COMIS";
	//crpe.setReportAppServer(ReportClientDocument.inprocConnectionString);
	//System.out.println(ReportClientDocument.inprocConnectionString);
	
	crpe.open(REPORT_NAME, 0);
	//crpe.setRecordSelectionFormula("{VW_REL_COMIS_ALL_CANAIS.COD_REVENDA} = 'IL1S'");
	//crpe.setRecordSelectionFormula("{APRESENTACAO_PORTIFOLIO.COD_APRE_POR} = 8");
	// Tipo de Exportação do relatorio
	//ByteArrayInputStream byteArrayInputStream = (ByteArrayInputStream)crpe.getPrintOutputController().export(ReportExportFormat.MSExcel);
	ByteArrayInputStream byteArrayInputStream = (ByteArrayInputStream)crpe.getPrintOutputController().export(ReportExportFormat.PDF);

	//Release report.
	crpe.close();
	
	//Manda Abrir no navegador.
	arq.getWriteToBrowser(byteArrayInputStream, response, "application/pdf", EXPORT_FILE);
	//WriteToBrowser(byteArrayInputStream, response, "application/pdf", EXPORT_FILE);
	
	//Write file to disk...
	//String EXPORT_OUTPUT = EXPORT_LOC + EXPORT_FILE
	//out.println("Exporting to " + EXPORT_OUTPUT);
	//writeToFileSystem(byteArrayInputStream, EXPORT_OUTPUT);
%>

Alguem saberia como me ajudar ?

Pessoal consegui resolver

desta maneira

Classe que será usada na visualização

package com.br.util;

import java.util.ArrayList;
import java.util.List;

import com.br.dao.MenuDao;
import com.br.model.Menu;

public class funcoesMenuLateralEsquedo {
	
	private StringBuilder vCodeLine = new StringBuilder();
	
	
	private String geraJQuery(){
		
		vCodeLine.append("<script language=\"JavaScript\" src=\"jquery/jquery-1.3.2.js\" type=\"text/javascript\"></script>\n"); 
		vCodeLine.append("<script language=\"JavaScript\" type=\"text/javascript\">\n");
		vCodeLine.append("	$(function() {\n");
		  		// Evento de clique do elemento: ul#menu li.parent > a
		vCodeLine.append(" 		$('ul#menu li.parent > a').click(function() {\n");
		  			// Expande ou retrai o elemento ul.sub-menu dentro do elemento pai (ul#menu li.parent)
		vCodeLine.append("			$('ul.sub-menu', $(this).parent()).slideToggle('fast', function() {\n");
		  				// Depois de expandir ou retrair, troca a classe 'aberto' do <a> clicado       
		vCodeLine.append("			$(this).parent().toggleClass('aberto');\n");
		vCodeLine.append("			});\n");
		vCodeLine.append("			return false;\n");
		vCodeLine.append("  	});\n");
		vCodeLine.append("  });\n");
		vCodeLine.append("</script>\n");
		
		return vCodeLine.toString();		  
	}
	
	private String geraMenu(int pMenu){
		
		String vOrder    = null;
		vCodeLine.setLength(0);
		
		vCodeLine.append("<ul id=\"menu_esquerdo\" style=\"position:relative; top:65px;\">\n");        
		
		/*Variaveis */
		List<Menu>   listaMenu = new ArrayList<Menu>();
		List<String> vColunas  = new ArrayList<String>();
		List<String> vValores  = new ArrayList<String>();
		
		/* Objetos*/
		MenuDao menuDao = new MenuDao();
		Menu    menu    = new Menu();
		
		/* Operacao */
		vColunas.add("COD_MENU_PAI");
		vColunas.add("SIT_NIVEL");
		vValores.add(Integer.toString(pMenu));
		vValores.add("2");
		
		vOrder = "SIT_ORDER";
		
		listaMenu = menuDao.select(vColunas, vValores, vOrder);
		
		vCodeLine.append("<td><img src=\"img/Menu-Esquerdo_01.gif\" width=\"200\" height=\"50\" alt=\"\"></td>\n");                  
		
		for (int i = 0; i < listaMenu.size(); i++){
			menu = listaMenu.get(i);
			//if (menu.getDSC_MENU().toUpperCase().equals("CONSULTA")){
				vCodeLine.append("<li><a href=\""+menu.getDSC_ACAO()+"\">"+menu.getDSC_MENU()+"</a></li>\n");
			//}else{	
			//	vCodeLine.append("<li><a href=\"#\" title=\"\">"+menu.getDSC_MENU()+"</a></li>\n");
			//}
		}	
		vCodeLine.append("<td><img src=\"img/Menu-Esquerdo_04.gif\" width=\"200\" height=\"50\" alt=\"\"></td>\n");	
	
		vCodeLine.append("</ul>\n");
		
		return vCodeLine.toString();
		
	}
	/*
	private String getMenuEsquedo(){
		
		String vCodeline = null;
		
		return vCodeline;
	}*/
	
	
	public String getJQuery(){
		return geraJQuery();
	}
	
	public String getMenu(int pMenu){
		return geraMenu(pMenu);
	}

}

Pagina que ira exibir

<%@page import="com.br.model.Parametros"%>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="ISO-8859-1" %>
<%@ page import="com.businessobjects.CRJavaHelper"%>
<%@ page import="com.crystaldecisions.report.web.viewer.CrystalReportViewer"%>
<%@ page import="com.crystaldecisions.sdk.occa.report.application.OpenReportOptions"%>
<%@ page import="com.crystaldecisions.sdk.occa.report.application.ReportClientDocument"%>
<%@ page import="com.crystaldecisions.sdk.occa.report.lib.ReportSDKExceptionBase"%>
<%@ page import="java.sql.Connection"%>
<%@ page import="java.sql.DriverManager"%>
<%@ page import="java.sql.ResultSet"%>
<%@ page import="java.sql.SQLException"%>
<%@ page import="java.sql.Statement"%>
<%@ page import="com.br.util.funcoesCrystalReports"%>
<%@ page import="java.util.logging.Logger"%>

<%
	// This sample code calls methods from the CRJavaHelper class, which 
	// contains examples of how to use the BusinessObjects APIs. You are free to 
	// modify and distribute the source code contained in the CRJavaHelper class. 

		funcoesCrystalReports crystal = new funcoesCrystalReports();
		Parametros 			  param   = crystal.getParametros();
		Logger                logger  = Logger.getLogger("br.com.log"); 
		
		String reportName = "report/"+crystal.getReport(request)+".rpt";
		
		ReportClientDocument clientDoc = (ReportClientDocument) session.getAttribute(reportName);
		
		// Report can be opened from the relative location specified in the CRConfig.xml, or the report location
		// tag can be removed to open the reports as Java resources or using an absolute path
		// (absolute path not recommended for Web applications).

		clientDoc = new ReportClientDocument();
		clientDoc.setReportAppServer(ReportClientDocument.inprocConnectionString);
		// Open report
		clientDoc.open(reportName, OpenReportOptions._openAsReadOnly);
	
		// ****** BEGIN POPULATE WITH RESULTSET SNIPPET ****************  
		{
			// **** POPULATE MAIN REPORT ****
			{
				 // Connection Info for fetching the resultSet
				String connectStr = param.getDSC_STRING_CONNECTION();
				String driverName = param.getDSC_DRIVER_NAME();
				String userName   = param.getDSC_USER();		
				String password   = param.getDSC_PASSWORD();	

				//Ensure this query is valid in your database. An exception will be thrown otherwise. 21006176
				//String query = "SELECT CUSTOMER_NAME FROM APP.CUSTOMER WHERE COUNTRY = 'Australia'"; ' 
				String query = crystal.getConsulta(request);
				
				logger.info("Consulta do Relatorio : " + query);
				// As long the Resultset schema has the same field names and types,
				// then the Resultset can be used as the datasource for the table
				String tableAlias = crystal.getAlias(request);		//  Change to correct table alias
				
				// Push the Java ResultSet into the report (this will then be the datasource of the report)
				CRJavaHelper.passResultSet(clientDoc, crystal.getfetchResultSet(driverName, connectStr, userName, password, query),
				                           tableAlias, "");
			}


		}
		// Store the report document in session
		session.setAttribute(reportName, clientDoc);		
		
		// ****** BEGIN CONNECT CRYSTALREPORTPAGEVIEWER SNIPPET ****************  
		{
			// Create the CrystalReportViewer object
			CrystalReportViewer crystalReportPageViewer = new CrystalReportViewer();

			String reportSourceSessionKey = reportName+"ReportSource";
			Object reportSource = session.getAttribute(reportSourceSessionKey);
			//if (reportSource == null)
			//{
				reportSource = clientDoc.getReportSource();
				session.setAttribute(reportSourceSessionKey, reportSource);
			//}
			//	set the reportsource property of the viewer
			crystalReportPageViewer.setReportSource(reportSource);

			// Apply the viewer preference attributes


			// Process the report
			crystalReportPageViewer.processHttpRequest(request, response, application, null); 

		}
		// ****** END CONNECT CRYSTALREPORTPAGEVIEWER SNIPPET ****************	
	
%>

Se alguém precisar de ajuda e só dar um toque.