Print Page | Close Window

Export a Report to PDF

Printed From: Crystal Reports Book
Category: Crystal Reports 9 through 2020
Forum Name: Report Design
Forum Discription: The best way to design a report and problems you have encountered
URL: http://www.crystalreportsbook.com/forum/forum_posts.asp?TID=1896
Printed Date: 03 May 2024 at 9:17am


Topic: Export a Report to PDF
Posted By: rajeshkottakota
Subject: Export a Report to PDF
Date Posted: 16 Dec 2007 at 10:07pm

Hi,

   This is Rajesh, I am using Crystal Reports XI with PSReportFactory. when i am exporting a report into PDF, i am getting
ReportSDKLogonException: Information is needed before this report can be processed - 2147217393 Error code name:dbLogonFailed Exception...
 
My Code is:-
    ISessionMgr iSessionMgr = CrystalEnterprise.getSessionMgr();
    //Logon to Enterprise
    IEnterpriseSession iEnterpriseSession = iSessionMgr.logon(username, password, cmsname, authType);
    //Retrieve the InfoStore object from the Enterprise Session
    IInfoStore oInfoStore = (IInfoStore)iEnterpriseSession.getService("", "InfoStore");
    
   //Retrieve the report from the Enterprise System
   String       query  = "Select * From CI_INFOOBJECTS Where SI_NAME = '"+REPORT_NAME+"'";
   IInfoObjects oInfoObjects = oInfoStore.query(query);
   IInfoObject  oReport = (IInfoObject)oInfoObjects.get(0); 
   IReport report = (IReport)oReport;
   
   IReportSourceFactory2 psReportSourceFactory = (IReportSourceFactory2) iEnterpriseSession.getService("","PSReportFactory");
   Object reportSource = psReportSourceFactory.createReportSource(oReport,Locale.ENGLISH);
   
   Debug.println("checking the DBCredentials.............");
   ConnectionInfos connInfos = new ConnectionInfos();
     IConnectionInfo connInfo1 = new ConnectionInfo();
     connInfo1.setUserName(dbUserName);
     connInfo1.setPassword(dbPassword);
     //add the IConnectionInfo object into the ConnectionInfo collection
     connInfos.add(connInfo1);
    
      // get the query id, the time in milliseconds
    long queryID = System.currentTimeMillis();
    String queryId = Long.toString(queryID);
    Debug.println("adding the parameters to arraylist");
     ArrayList parameters = new ArrayList();
     parameters.add(queryId);
     parameters.add(str_Rpt_InvoiceNo);
     parameters.add(str_Rpt_CompanyID);
    
     Debug.println("Setting to ....ExportControl...");
     exportControl.setReportSource(reportSource);
     //exportControl.setEnableLogonPrompt(false);
     exportControl.setParameterFields(setParameters(report,parameters));
     exportControl.setDatabaseLogonInfos(connInfos);
     //exportControl.setEnableParameterPrompt(false);
    
   RequestContext reqCon = new RequestContext();
   reqCon.getReportStateInfo();
   reqCon.getSubreportRequestContext();
   ExportOptions exportOptions = new ExportOptions();
   exportOptions.setExportFormatType(ReportExportFormat.PDF);
   Debug.println("converting into bytes........");         
 
 
//here only i am getting Exception....   
   ByteArrayInputStream byteArrayInputStream = (ByteArrayInputStream)((IReportSource) reportSource).export(exportOptions, reqCon);
   
   rptDetails = new ARChopsDAO(companyId.longValue()).getJRptName(str_InvoiceNo);
            str_Rpt_fileName = rptDetails[1];
            str_fileDesciption = rptDetails[2];
   
   //Write file to disk...
   String EXPORT_OUTPUT = EXPORT_LOC + str_Rpt_fileName;
   Debug.println("Destination....."+EXPORT_OUTPUT);
      writeToFileSystem(byteArrayInputStream, EXPORT_OUTPUT);
   exportControl.dispose();
    
 
please....help me....



Print Page | Close Window