发新话题
打印

诚心请教在JbuilderX中使用CrystalReportViewer出现Error finding JNDI name的问题

诚心请教在JbuilderX中使用CrystalReportViewer出现Error finding JNDI name的问题

我用Crystal Reports9 做了一个名为DeviceReport_1.rpt的报表,然后用JBuilderX做了一个JSP页面,在JSP页面中用JBuilderX自带的CrystalReportViewer对报表进行浏览打印刷新等操作。我做报表时用了Oracle数据库作为数据源,服务名为:SEC_192.128.1.9  用户为:system  密码为:manager 。

我的JSP源代码为:
<%@ page contentType="text/html; charset=GBK" %>
<%@ page errorPage="ReportView_error.jsp" %>
<%@ taglib uri="/crystal-tags-reportviewer.tld" prefix="crviewer" %>
<html>
<head>
<title>
ReportView
</title>
</head>
<jsp:useBean id="reportViewBeanId" scope="session" class="report2.ReportViewBean" />
<jsp:setProperty name="reportViewBeanId" property="*" />
<body bgcolor="#ffffff">
<h1>
大家一起做报表!
</h1>
<crviewer:viewer viewerName="1" reportSourceVar="_1" reportSourceType="reportingComponent" top="100" isOwnPage="true" displayToolbarExportButton="true" displayToolbarPrintButton="true" displayToolbarRefreshButton="true" displayToolbarFindButton="true" displayToolbarCrystalLogo="false" >
<crviewer:report reportName="crystalreportviewers10/Report/DeviceReport_1.rpt" />
</crviewer:viewer>
</body>
</html>

编译能通过,但是在IE中点击CrystalReportViewer的ToolBar上的refresh按钮时IE中却出现了下列提示:
com.crystaldecisions.report.web.viewer.CrystalReportViewer   
Error finding JNDI name (SEC_192.128.1.9)

    而且将其报表导出为pdf文件时,打开pdf文件时会有“正自动更新”的提示出现,然后pdf文件的内容消失掉。
    我对JNDI了解不多,我的想法是不是要用JNDI的函数将服务名加进去,但具体如何做也不太清楚,请大家帮帮忙,多谢了!      

TOP

Where is the datasource configuration? Where is the jndi.properties or properties setting? Which application server you are developing with? Too many "?" in your post. Tell me how to help you, maybe yourself ;)      

TOP

出现Logon failed,不知道是为啥。
jsp1.jsp:
<%@ page import="com.crystaldecisions.report.web.viewer.CrystalReportViewer" %>
<%@ page import="com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory,com.crystaldecisions.sdk.occa.report.reportsource.IReportSourceFactory2" %>
<%@ page import="com.crystaldecisions.report.web.viewer.*" %>
<%@ page import="com.crystaldecisions.sdk.occa.report.data.*"%>
<%@ page import="com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory" %>
<%@ page import="com.crystaldecisions.sdk.occa.report.reportsource.IReportSourceFactory2" %>
<%@ page import="com.crystaldecisions.sdk.occa.report.data.FormulaField" %>
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="com.crystaldecisions.sdk.occa.report.data.IConnection"%>
<%@ page import="java.sql.ResultSet,
                 java.beans.Statement,
                 java.sql.DriverManager,
                 java.sql.*,
                 com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory,
                 com.crystaldecisions.sdk.occa.report.reportsource.IReportSourceFactory2,
                 com.crystaldecisions.sdk.occa.report.reportsource.IReportSource,
                 com.crystaldecisions.report.web.viewer.CrystalReportViewer,
                 com.crystaldecisions.reports.reportengineinterface.JPEReportSource"%>
<%@ page import="com.crystaldecisions.sdk.occa.report.toolbar.Toolbar"%>                 

<LINK rel="stylesheet" type="text/css" href="../crystalreportviewers/css/default.css">
<%
   IReportSource reportSource = null;
   if(reportSource == null)
   {
     String report = "/Report2.rpt";
     IReportSourceFactory2 rptSrcFactory = new JPEReportSourceFactory();
     reportSource = (IReportSource) rptSrcFactory.createReportSource(report,request.getLocale());
     session.setAttribute("reportSource",reportSource);
   }

   ConnectionInfos connInfos = new ConnectionInfos();
   IConnectionInfo connInfo1 = new ConnectionInfo();
   connInfo1.setUserName("vcmresource");
   connInfo1.setPassword("vcmresource");
   connInfos.add(connInfo1);

   CrystalReportViewer viewer = new CrystalReportViewer();
   viewer.setReportSource(reportSource);
   viewer.setEnableLogonPrompt(false);
   viewer.setDatabaseLogonInfos(connInfos);
   viewer.setHasRefreshButton(true);
   viewer.setHasLogo(false);
   viewer.setPrintMode(CrPrintMode.ACTIVEX);
   viewer.setOwnPage(true);
   viewer.setOwnForm(true);
         viewer.refresh();
   viewer.processHttpRequest(request,response,getServletConfig().getServletContext(),out);
   
   viewer.dispose();
%>

<html>
<head>
<title>jsp1</title>
</head>
<body bgcolor="#ffffff">
        <br>
        <br>
<h1>JBuilder Generated JSP</h1>
<form method="post" action="jsp1.jsp">
<br>
<br>
<input type="submit" name="Submit" value="Submit">
<input type="reset" value="Reset">
<p>
  <a href="jsp4.jsp">
    <H1>jps4</H1>
  </a>
</p>
</form>
</body>
</html>

Web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
  <display-name>MyWebModule</display-name>
  <jsp-config>
    <taglib>
      <taglib-uri>/crystal-tags-reportviewer.tld</taglib-uri>
      <taglib-location>/WEB-INF/crystal-tags-reportviewer.tld</taglib-location>
    </taglib>
  </jsp-config>
  <context-param>
    <param-name>crystal_image_uri</param-name>
    <param-value>crystalreportviewers10</param-value>
  </context-param>
  <env-entry>
    <env-entry-name>jdbc/Xtreme Sample Database 10</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>!sun.jdbc.odbc.JdbcOdbcDriver!jdbcdbc:Xtreme Sample Database 10</env-entry-value>
  </env-entry>
  <env-entry>
    <env-entry-name>jdbc/oracle_net42</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>!oracle.jdbc.driver.OracleDriver!jdbcracle:thin192.168.1.213:1521racle</env-entry-value>
  </env-entry>
</web-app>      

TOP

发新话题