怎么测试阿?
顺被看看我的问题
http://community.csdn.net/Expert/topic/3560/3560232.xml?temp=.5270655

解决方案 »

  1.   

    所有的代码就是那个jsp了. 我觉得象是连接池的问题. 那位大仙来说说
      

  2.   

    Exception_Report.rpt 是自己设定的,是否是空白的报表?
      

  3.   

    比如说我的报表上字段 是 customer_id 和 customer_name ,customer_address,我制作好了,但是
       Fields fields = new Fields();
        ParameterField pfield1 = new ParameterField();
        ParameterField pfield2 = new ParameterField();
     这个是什么意思?
    然后
    Values vals1 = new Values();
        Values vals2 = new Values();
    又是什么意思?
    我想做查询 customer_id 和 customer_name 又该怎么写呢?另外数据源配置在哪里写呢?
    谢谢告知,不是很理解
      

  4.   

    我按照你上面写的
    作了一下
    另外 web.xml文件中 如下
    <?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-app
        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd">

    <web-app>

    <context-param> 
    <param-name>crystal_image_uri</param-name> 
    <param-value>crystalreportviewers10</param-value> 
    </context-param> 
    <env-entry> 
    <env-entry-name> 
    jdbc/SDDATA 
    </env-entry-name> 
    <env-entry-value> 
    !sun.jdbc.odbc.JdbcOdbcDriver!jdbc:db2:SDDATA
      </env-entry-value> 
    <env-entry-type>
    java.lang.String
    </env-entry-type> 
    </env-entry>
    <!--
       <display-name>Welcome to Tomcat</display-name>
       <description>
          Welcome to Tomcat
       </description>
       -->
    </web-app>
    但是我报的错是这样的一个页面
    “com.crystaldecisions.report.web.viewer.CrystalReportViewer 
    Unexpected Query Engine error ”<%@ page contentType="text/html; charset=gb2312" %>
    <%@ page import="com.crystaldecisions.reports.reportengineinterface.* "%>
    <%@ page import="com.crystaldecisions.report.web.viewer.* "%>
    <%@ page import="com.crystaldecisions.sdk.occa.report.data.*" %>
    <%@ page import="com.crystaldecisions.sdk.occa.report.reportsource.IReportSourceFactory2"  %><%
    String report = "Report2.rpt";
    CrystalReportViewer crv = new CrystalReportViewer();
    //JPEReportSourceFactory jrsf = new JPEReportSourceFactory();
    IReportSourceFactory2 rptSrcFactory = new JPEReportSourceFactory();
    JPEReportSource reportSource = (JPEReportSource) 
    rptSrcFactory.createReportSource(report, request.getLocale());
    //crv.setReportSource(
    // jrsf.createReportSource("Report2.rpt",request.getLocale()));

    Fields fields = new Fields();
    ParameterField pfield1 = new ParameterField();
        ParameterField pfield2 = new ParameterField();
        ParameterField pfield3 = new ParameterField();
    ParameterField pfield4 = new ParameterField();

    Values vals1 = new Values();
        Values vals2 = new Values();
    Values vals3 = new Values();
        Values vals4 = new Values();


    ParameterFieldDiscreteValue pfieldDV1 = new ParameterFieldDiscreteValue();
        ParameterFieldDiscreteValue pfieldDV2 = new ParameterFieldDiscreteValue();
    ParameterFieldDiscreteValue pfieldDV3 = new ParameterFieldDiscreteValue();
    ParameterFieldDiscreteValue pfieldDV4 = new ParameterFieldDiscreteValue();

    pfield1.setName("CO_NUM");
        pfieldDV1.setValue("000000000891");
        pfieldDV1.setDescription("The CO_NUM is 000000000891");
        
        pfield2.setName("TYPE");
        pfieldDV2.setValue("05");
        pfieldDV2.setDescription("The TYPE code is 05");

    pfield3.setName("TATUS");
        pfieldDV3.setValue("03");
        pfieldDV3.setDescription("The STATUS code is 03");

    pfield4.setName("PMT_STATUS");
        pfieldDV4.setValue("03");
        pfieldDV4.setDescription("The STATUS code is 03");
        
    vals1.add(pfieldDV1);
        vals2.add(pfieldDV2);
    vals3.add(pfieldDV3);
        vals4.add(pfieldDV4);
        
        pfield1.setCurrentValues(vals1);
        pfield2.setCurrentValues(vals2);
        pfield3.setCurrentValues(vals3);
        pfield4.setCurrentValues(vals4);
        
        crv.setReportSource(reportSource);
        crv.setParameterFields(fields);
    crv.setEnableParameterPrompt(true);
    crv.refresh();
    crv.processHttpRequest(request, response, getServletConfig().getServletContext(), out);

    //crv.processHttpRequest(request,response,application,null);
    %>
      

  5.   

    @@ ,不知道.
    是不是你的jndi已经成功了? 你的会不会是报表有问题?
      

  6.   

    <%@ page contentType="text/html; charset=gb2312" %>
    <%@ page import="com.crystaldecisions.reports.reportengineinterface.* "%>
    <%@ page import="com.crystaldecisions.report.web.viewer.* "%>
    <%@ page import="com.crystaldecisions.sdk.occa.report.data.*" %>
    <%@ page import="com.crystaldecisions.sdk.occa.report.reportsource.*"  %><%
    CrystalReportViewer crv = new CrystalReportViewer();
    JPEReportSourceFactory jrsf = new JPEReportSourceFactory();
    crv.setReportSource(
    jrsf.createReportSource("Report2.rpt",request.getLocale()));

    Fields fields = new Fields();
    ParameterField param = new ParameterField();
    param.setReportName("Report2");
    param.setName("CO_NUM");

    Values vals = new Values();
    ParameterFieldDiscreteValue val = new ParameterFieldDiscreteValue();
    val.setValue(request.getParameter("CO_NUM"));
    vals.add(val);
    param.setCurrentValues(vals);
    fields.add(param);

    crv.setParameterFields(fields);
    //crv.processHttpRequest(request,response,application,null);
    crv.dispose();
    %>
    这个压根是空白页阿
      

  7.   

    用odbc设计的CR,当在jsp页面中调用的时候,原来使用odbc的连接自动换成使用jdbc数据库连接,自己建一个与odbc名字相同的jdbc就ok了