Quantcast
Channel: SCN : Popular Discussions - SAP Crystal Reports, version for Eclipse
Viewing all 893 articles
Browse latest View live

crystal report viewer jsp how desalocate memory

$
0
0

Hello

 

I have an code jsp  it is ok

On toolbar I have a lot "pageserver.exe" , the memory is high !!

( We have Tomcat )   

 

look my code i clean the memory by dispose it's ok ??  Thanks you

very much michel

 

 

<%

%><%@ page import = "com.crystaldecisions.sdk.occa.infostore.*,                   com.crystaldecisions.sdk.plugin.desktop.common.*,                   com.crystaldecisions.sdk.framework.*,                   com.crystaldecisions.sdk.occa.security.*,                   com.crystaldecisions.sdk.exception.SDKException,             com.crystaldecisions.sdk.occa.report.exportoptions.*,                   com.crystaldecisions.sdk.occa.managedreports.IReportSourceFactory,                   java.util.Locale,             java.util.*,             java.lang.String,             java.io.IOException,             java.io.InputStream,             java.io.OutputStream,             java.util.*,             java.util.ArrayList,             java.util.Iterator,             java.util.List,             java.io.*,                   com.crystaldecisions.sdk.occa.report.data.*,                   com.crystaldecisions.report.web.viewer.*"

%><%
String pi_scms             = request.getParameter("cms");       String pi_suser             = request.getParameter("user"); r      String pi_spass             = request.getParameter("pass");       String pi_sdocName       = request.getParameter("sdoc");      String pi_suserDb     = request.getParameter("userdb");exemple rcteaxeriah     String pi_spassDb     = request.getParameter("passdb");                  // ****  Récupération des paramétres envoyés par l'URL la premiere Fois      // les fois suivantes il faut utiliser le principe de session      String[] tab_schamp  = request.getParameterValues("schamp");     String[] tab_stype   = request.getParameterValues("stype");     String[] tab_svaleur = request.getParameterValues("svaleur");     String[ ] tab_schamp1 = new String[100];  // Tableau des Champs     String[ ] tab_stype1  = new String[100];  // Tableau des Types      String[ ] tab_svaleur1 = new String[1000]; // Tableau des Valeurs           // on Mémorise dans une session pour l'activiewer     // pour contourner le probleme lors d'access a la prochaine page sur l'active viewer       // les données etaient a vide       HttpSession session1 = request.getSession(true);                         //            1ere CONNECTION (URL) on mémorise dans la session     if( session1.isNew() )      {        session1.setAttribute ("CMS",pi_scms);  // nom cms        session1.setAttribute ("USER",pi_suser); // nom user connection cms         session1.setAttribute ("PASS",pi_spass); // password cms        session1.setAttribute ("SDOC",pi_sdocName); // nom du report Rpt         session1.setAttribute ("USERDB",pi_suserDb); // utilisateur base de donne        session1.setAttribute ("PASSDB",pi_spassDb); // mot de passe base de donnée                                         // on parcours le tableau des champs type et valeur         // pour le stocker dans la session PARAM0,TYPE0,VALEUR0,PARAM1,TYPE1,VALEUR1,        String  l_s_mot_cle_param  ;        String  l_s_mot_cle_type   ;        String  l_s_mot_cle_valeur ;                  for (int l_i_Nbr_Champ = 0; l_i_Nbr_Champ < tab_schamp.length; l_i_Nbr_Champ++)        {                      l_s_mot_cle_param  = " " ; l_s_mot_cle_type   = " "  ; l_s_mot_cle_valeur = " ";                              l_s_mot_cle_param  = "PARAM" ;           l_s_mot_cle_type   = "TYPE"  ;          l_s_mot_cle_valeur = "VALEUR";           l_s_mot_cle_param  = l_s_mot_cle_param  + String.valueOf(l_i_Nbr_Champ);           l_s_mot_cle_type   = l_s_mot_cle_type   + String.valueOf(l_i_Nbr_Champ);           l_s_mot_cle_valeur = l_s_mot_cle_valeur + String.valueOf(l_i_Nbr_Champ);                         // Mémorisation en session                            session1.setAttribute (l_s_mot_cle_param  , tab_schamp [l_i_Nbr_Champ]);          session1.setAttribute (l_s_mot_cle_type   , tab_stype  [l_i_Nbr_Champ]);          session1.setAttribute (l_s_mot_cle_valeur , tab_svaleur[l_i_Nbr_Champ]);              }               // Stocke le nombre de champs passés dans l'URL en session            session1.setAttribute ("NBRELEM" , String.valueOf(tab_schamp.length-1));        } // fin  si nouvelle connection on mémorise dans la session                           //            1ERE CONNECTION OU CONNECTION SUIVANTES       //            on récupére les valeurs de la session                            // Récupération des valeurs de la session           String l_s_cms      = (String)session1.getAttribute("CMS");       String l_s_user     = (String)session1.getAttribute("USER");       String l_s_pass     = (String)session1.getAttribute("PASS");       String l_s_sdocname     = (String)session1.getAttribute("SDOC");       String l_s_userDb     = (String)session1.getAttribute("USERDB");       String l_s_passDb     = (String)session1.getAttribute("PASSDB");                   // recupération du nombre d'élément       String l_s_nbrelem     = (String)session1.getAttribute("NBRELEM");       int l_i_nbr = Integer.parseInt(l_s_nbrelem);        // Récupération des champs et insertion dans un tableau        // de tous les champs mémorisés dans la session                                    String  l_s_mot_cle_param1   ;       String  l_s_mot_cle_type1    ;       String  l_s_mot_cle_valeur1 ;                 for (int l_s_cmpt = 0; l_s_cmpt <= l_i_nbr ; l_s_cmpt++)                             {                              l_s_mot_cle_param1  = " " ;l_s_mot_cle_type1   = " "  ;l_s_mot_cle_valeur1 = " ";                          l_s_mot_cle_param1  = "PARAM" ;                l_s_mot_cle_type1   = "TYPE"  ;                l_s_mot_cle_valeur1 = "VALEUR";                                l_s_mot_cle_param1  = l_s_mot_cle_param1  + String.valueOf(l_s_cmpt);                l_s_mot_cle_type1   = l_s_mot_cle_type1   + String.valueOf(l_s_cmpt);                l_s_mot_cle_valeur1 = l_s_mot_cle_valeur1 + String.valueOf(l_s_cmpt);                               tab_schamp1 [l_s_cmpt]  = (String)session1.getAttribute(l_s_mot_cle_param1);                tab_stype1  [l_s_cmpt]  = (String)session1.getAttribute(l_s_mot_cle_type1);                tab_svaleur1 [l_s_cmpt] = (String)session1.getAttribute(l_s_mot_cle_valeur1);                      }      //            FIN RECUPERATION DES CHAMPS MEMORISES EN SESSION                    try {                   //            CONNECTION AU CMS                   IEnterpriseSession enterpriseSession = CrystalEnterprise.getSessionMgr().logon(l_s_user,l_s_pass,l_s_cms,"secEnterprise");                   //Grab the InfoStore from the httpsession (Entreprise session)         IInfoStore infoStore = (IInfoStore)enterpriseSession.getService("", "InfoStore");                  //Query for the report object in the CMS.  See the Developer Reference guide for more information the query language.           // CI_INFOOBJECTS = TABLES des objets du referentiel BO         IInfoObjects oInfoObjects = (IInfoObjects)infoStore.query("SELECT TOP 1 * " + "FROM CI_INFOOBJECTS " +          "WHERE SI_PROGID = 'CrystalEnterprise.Report' AND SI_INSTANCE=0 AND SI_NAME='" +  l_s_sdocname + "'" );              if (oInfoObjects.size() > 0) {                            //Recupere la derniere instance du report               IInfoObject oInfoObject = (IInfoObject) oInfoObjects.get(0);                   //Use the PS report factory to obtain a report source that will be processed on the Page Server.                  IReportSourceFactory factoryPS = (IReportSourceFactory)enterpriseSession.getService("PSReportFactory");              Object reportSource = factoryPS.openReportSource((oInfoObject), Locale.ENGLISH);                             session.setAttribute("reportSource", reportSource);               //            FIN CONNECTION AU CMS                     //             CONNECTION A LA BASE DE DONNEE ORACLE                          ConnectionInfo dbLogonInfo = new ConnectionInfo();          dbLogonInfo.setUserName(l_s_userDb);          dbLogonInfo.setPassword(l_s_passDb);          ConnectionInfos dbLogonInfos = new ConnectionInfos();          dbLogonInfos.add(dbLogonInfo);                         //Put this object in session so that it can be retrieved and used by the viewer.          session.setAttribute("dbLogonInfos", dbLogonInfos);                          //       INSTANCE DE l'ACTIVE VIEWER DE CRYSTAL REPORT            CrystalReportViewer viewer = new CrystalReportViewer();                  viewer.setName("CrystalReportViewer");              // Active l'exportation et l'impression sur le visualisateur                    viewer.setOwnPage(true);              //Impression possible sur le mode ActiveX                viewer.setPrintMode(CrPrintMode.ACTIVEX);                  //le rapport sera affiché sur le Viewer                   //Object reportSource = session.getAttribute("reportSource");              viewer.setReportSource(reportSource);                  //ConnectionInfos dbLogonInfos = (ConnectionInfos)session.getAttribute("dbLogonInfos");          // affecte la connection au viewer               viewer.setDatabaseLogonInfos(dbLogonInfos);           // creation champ field pour le report           Fields fields = new Fields();            // force le parametre dans le browser                  viewer.setParameterFields(fields);                   // prompt du parametre de saisie caché                // car on veut que le rapport s'affiche automatiquement                       viewer.setEnableParameterPrompt(false);            // Rafraichissement que la premiere fois           if( session1.isNew() )           {                   viewer.refresh();// desactiver car probleme sur activewiever           }                    //          //        FORCAGE DES PARAMETRES ENTREES AU REPORT SI TYPE DATE           //                     for (int l_i_Nbr_Champ = 0; l_i_Nbr_Champ <= l_i_nbr ; l_i_Nbr_Champ++)          {                                        if (tab_stype1[l_i_Nbr_Champ].equals("DATE"))                {                              // extraction du format JJ/MM/AAAA et déclaration des variables                // Année                int iannee = Integer.parseInt(tab_svaleur1[l_i_Nbr_Champ].substring(6,10));                               // le mois de janvier commence a 0                int imois  = Integer.parseInt(tab_svaleur1[l_i_Nbr_Champ].substring(3,5)) -1 ;               // Jour                int ijour  = Integer.parseInt(tab_svaleur1[l_i_Nbr_Champ].substring(0,2));                              RC_P_setParameterValueDate(fields,tab_schamp1[l_i_Nbr_Champ],"",iannee,imois,ijour,out);               }          //       FIN  FORCAGE DES PARAMETRES ENTREES SI TYPE DATE                //   FORCAGE DES PARAMETRES ENTREES AU REPORT SI TYPE STR                                     if (tab_stype1[l_i_Nbr_Champ].equals("STR"))                {                                   RC_P_setParameterValueStr(fields,tab_schamp1[l_i_Nbr_Champ],"",tab_svaleur1[l_i_Nbr_Champ],out);               }                              //       FIN  FORCAGE DES PARAMETRES ENTREES SI TYPE STR                                         //   FORCAGE DES PARAMETRES ENTREES AU REPORT SI TYPE INT                                   if (tab_stype1[l_i_Nbr_Champ].equals("INT"))                {                                   RC_P_setParameterValueInt(fields,tab_schamp1[l_i_Nbr_Champ],"",tab_svaleur1[l_i_Nbr_Champ],out);               }                              //       FIN  FORCAGE DES PARAMETRES ENTREES SI TYPE INT                     }                                     //lance le visualiseur dans la fenêtre active du navigateur.                    viewer.processHttpRequest(request, response, getServletConfig().getServletContext(), null);               // Nettoyage                    viewer.dispose();                                }         else {              out.println("Report " + pi_sdocName + " not found.");              }    }    catch(SDKException sdkEx) {          out.println(sdkEx);       }

//       FIN PROGRAMME PRINCIPAL          
%><%!
//  Auteur : MM 
//  date   : 26/09/2008     
//  Nom Procedure RC_P_setParameterValueDate
//  Version 1.0
//  Explication :  Prépare les paramétres entrées dans le report pour les champs de type Date 
//  se sert de l'objet calendar de java  

static void RC_P_setParameterValueDate(Fields oFields, String paramName, String reportName,int annee,int mois,int jour,JspWriter out) throws javax.servlet.jsp.JspException 

{ 

  // FORMAT DATE    Calendar calendar = Calendar.getInstance();   calendar.set(Calendar.DAY_OF_MONTH, jour);   calendar.set(Calendar.MONTH, mois);   calendar.set(Calendar.YEAR, annee);   Object value = calendar.getTime();        ParameterField oParameterField = new ParameterField();   oParameterField.setReportName(reportName);   Values oValues = new Values();   ParameterFieldDiscreteValue oParameterFieldDiscreteValue = new ParameterFieldDiscreteValue();   oParameterField.setName(paramName);   oParameterFieldDiscreteValue.setValue(value);   oValues.add(oParameterFieldDiscreteValue);   oParameterField.setCurrentValues(oValues);   oFields.add(oParameterField);       
}
%><%!
//   Auteur : MM 
//   date   : 26/09/2008     
//   Nom Procedure RC_P_setParameterValueStr
//   Version 1.0
//   Explication Prépare les paramétres entrées dans le report pour les champsde type STR

private void RC_P_setParameterValueStr(Fields oFields, String paramName, String reportName, Object value,JspWriter out) throws javax.servlet.jsp.JspException 
{
 
    ParameterField oParameterField = new ParameterField();    oParameterField.setReportName(reportName);    Values oValues = new Values();    ParameterFieldDiscreteValue oParameterFieldDiscreteValue = new ParameterFieldDiscreteValue();    oParameterField.setName(paramName);    oParameterFieldDiscreteValue.setValue(value);    oValues.add(oParameterFieldDiscreteValue);    oParameterField.setCurrentValues(oValues);    oFields.add(oParameterField);      
}
%><%!
//   Auteur : MM 
//   date   : 26/09/2008     
//   Nom Procedure RC_P_setParameterValueInt
//   Version 1.0
//   Explication Prépare les paramétres entrées dans le report pour les champsde type INT
private void RC_P_setParameterValueInt(Fields oFields, String paramName, String reportName, Object value,JspWriter out) throws javax.servlet.jsp.JspException 
{    ParameterField oParameterField = new ParameterField();    oParameterField.setReportName(reportName);    Values oValues = new Values();    ParameterFieldDiscreteValue oParameterFieldDiscreteValue = new ParameterFieldDiscreteValue();    oParameterField.setName(paramName);    oParameterFieldDiscreteValue.setValue(value);    oValues.add(oParameterFieldDiscreteValue);    oParameterField.setCurrentValues(oValues);    oFields.add(oParameterField);      
}
%><%!

//   Auteur : MM 
//   date   : 26/09/2008     
//   Nom Procedure RC_P_Affiche
//   Version 1.0
//   Pour Debug affiche les informations
//   note l'appel  se fait par affiche(out,"test") et mettre en commentaire la ligne d'access au viewer viewer.processHttpRequest

static void RC_P_Affiche(JspWriter out, String s) throws javax.servlet.jsp.JspException
{
  try  {    out.println(s);  }  catch(java.io.IOException e)  { throw new javax.servlet.jsp.JspException(e); }  return;
}
%>

 

 


Could not initialize class com.crystaldecisions.reports.formatter.export2.E

$
0
0

Hi i installed all in one installation of Crystal Reports for Eclipse from SAP's site.

Am also getting an same error while trying to view any report. Am using tomcat 5.5 jdk 1.6.

I read one of the answers in other thread where reconfiguring the tomcat helped. For me even reconfiguring the tomcat is not helping 

Am not able to run even one report not even the sample report which i got while installing crystal reports for eclipse 2.

Am using the same report and jsp.

 

Exception am getting is

 

'Could not initialize class com.crystaldecisions.reports.formatter.export2.ExportSupervisorEx on the viewer JSP'

 

Also do let me know, Does Crystal Reports for Eclipse 2 support JDK 1.6.Are the libraries which come with galileo in All in one installation compiled using java 1.6.

 

Kindly help me resolve this.

 

Thanks in advance

Sarang

Unexpected database connector error, when data sent from POJO.. Plz Help Me

$
0
0

Hi, Please Help me about this, I have started learning to develop a crystal report with java swing in crystal report integrated eclipse IDE 3.5 but when i am trying to send data from pojo to report file its giving error like "Unexpected database connector error" and Error code:-2147215349Error code name:docNotReady.... please hlep me... i uploaded my program and the link to download my file is :

 

http://www.4shared.com/file/mz8O4iQi/SimplePojoReport.html

 

and i am not using any database just setting the data in the pojo...

 

i wrote my problem here before, but nobody replied me... so this time i uploaded my project.. please help me...

 

thanks...

The necessary security privileges could not be verified

$
0
0

Hello,<br>

<br>

I"m trying to use the opendocument viewer but  i always get this error<br>

The viewer could not process an event. A request was cancelled. The necessary security privileges could not be verified. <br>

[R21ADAPTJ5068] [RASLIB9002] [CRSDK00000813]  -


Error code:0 [CRWEB00000119]<br>

<br>

i'm trying to interact via coldfusion (i use a little jar to get the tree out of bo) then i want to show the report via an url<br>

to login in the jar i do this;<br>

<br>

  Locale.setDefault(Locale.ENGLISH);<br>

  enterpriseSession = CrystalEnterprise.getSessionMgr().logon("Administrator", "pwd", "server", "secEnterprise");<br>

<br>

  userInfo = enterpriseSession.getUserInfo();<br>

  ILogonTokenMgr myToken = enterpriseSession.getLogonTokenMgr();<br>

<br>

  BOToken = URLEncoder.encode(enterpriseSession.getLogonTokenMgr().createLogonToken("", 120, 100), "UTF-8");<br>

  iStore = (IInfoStore) enterpriseSession.getService("InfoStore");<br>

<br>

then in my coldfusion code i get the tree and list it, which is ok<br>

but when i point to a report i get the security error, the token is the one recieved from the jar package;<br>

<br>

'http://[server]:8080/BOE/CrystalReports/viewrpt.cwr?id='repId'&apstoken=[token]';<br>

<br>

2012-01-03 09:45:52<br>

com.businessobjects.report.web.shared.WebReportingException: The viewer could not process an event. A request was cancelled. The necessary security privileges could not be verified. [R21ADAPTJ5068] [RASLIB9002] [CRSDK00000813] -


Error code:0 [CRWEB00000119]

     at com.businessobjects.report.web.shared.WebReportingException.throwWebReportingException(WebReportingException.java:71)

     at com.businessobjects.report.web.component.ViewerContainer.processEvents(ViewerContainer.java:2021)

     at com.businessobjects.report.web.WorkflowController.doEventProcessing(WorkflowController.java:425)

     at com.businessobjects.report.web.WorkflowController.doLifecycle(WorkflowController.java:262)

     at com.businessobjects.report.web.WorkflowController.doAsyncLifecycle(WorkflowController.java:110)

     at com.crystaldecisions.report.web.viewer.CrystalReportViewerUpdater._processHttpRequest(CrystalReportViewerUpdater.java:61)

     at com.crystaldecisions.report.web.ServerControl.processHttpRequest(ServerControl.java:342)

     at com.crystaldecisions.report.web.viewer.CrystalReportViewerServlet.doUpdate(CrystalReportViewerServlet.java:89)

     at com.crystaldecisions.report.web.viewer.CrystalReportViewerServlet.doPost(CrystalReportViewerServlet.java:78)

     at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)

     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

     at com.businessobjects.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:110)

     at com.businessobjects.http.servlet.internal.ServletLastFilterChainElement.service(ServletLastFilterChainElement.java:30)

     at com.businessobjects.http.servlet.internal.filter.FilterChainImpl.doFilter(FilterChainImpl.java:46)

     at com.businessobjects.webutil.boetrustguard.BOETrustPrepareFilter.doFilter(BOETrustPrepareFilter.java:32)

     at com.businessobjects.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:72)

     at com.businessobjects.http.servlet.internal.filter.FilterChainImpl.doFilter(FilterChainImpl.java:43)

     at com.businessobjects.swd.shared.tracelog.TraceLogScopeFilter.doFilter(TraceLogScopeFilter.java:38)

     at com.businessobjects.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:72)

     at com.businessobjects.http.servlet.internal.filter.FilterChainImpl.doFilter(FilterChainImpl.java:43)

     at com.businessobjects.sdk.actionfilter.WorkflowFilter.doFilter(WorkflowFilter.java:45)

     at com.businessobjects.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:72)

     at com.businessobjects.http.servlet.internal.filter.FilterChainImpl.doFilter(FilterChainImpl.java:43)

     at com.businessobjects.swd.appcontext.RequestInitFilter.doFilter(RequestInitFilter.java:26)

     at com.businessobjects.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:72)

     at com.businessobjects.http.servlet.internal.filter.FilterChainImpl.doFilter(FilterChainImpl.java:43)

     at com.businessobjects.http.servlet.internal.BundlePathAwareServiceHandler.serviceHelper(BundlePathAwareServiceHandler.java:235)

     at com.businessobjects.http.servlet.internal.BundlePathAwareServiceHandler.service(BundlePathAwareServiceHandler.java:197)

     at com.businessobjects.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:248)

     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

     at org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:220)

     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

     at com.businessobjects.pinger.TimeoutManagerFilter.doFilter(TimeoutManagerFilter.java:159)

     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)

     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)

     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)

     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)

     at java.lang.Thread.run(Thread.java:619)

Caused by: com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: A request was cancelled. The necessary security privileges could not be verified. [R21ADAPTJ5068]

[RASLIB9002]---- Error code:-2147215357 [CRSDK00000813] Error code name:internal

     at com.crystaldecisions.sdk.occa.report.lib.ReportSDKException.throwReportSDKException(ReportSDKException.java:120)

     at com.crystaldecisions.sdk.occa.managedreports.ps.internal.CacheReportSource.ensureRequester(CacheReportSource.java:1921)

     at com.crystaldecisions.sdk.occa.managedreports.ps.internal.CacheReportSource.getPage(CacheReportSource.java:1033)

     at com.businessobjects.report.web.event.PageListener.renderContentLocally(PageListener.java:337)

     at com.businessobjects.report.web.event.PageListener.getPage(PageListener.java:165)

     at com.businessobjects.report.web.event.PageListener.updatePage(PageListener.java:114)

     at com.businessobjects.report.web.event.UpdatePageEvent.processListener(UpdatePageEvent.java:47)

     at com.businessobjects.report.web.event.ViewerBroadcaster.broadcast(ViewerBroadcaster.java:104)

     at com.businessobjects.report.web.event.EventQueue.processEvents(EventQueue.java:53)

     at com.businessobjects.report.web.component.ViewerContainer.processEvents(ViewerContainer.java:2008)

     ... 45 more

Caused by: com.crystaldecisions.sdk.exception.SDKException$PageServerError: A request was cancelled. The necessary security privileges could not be verified. [R21ADAPTJ5068]

[RASLIB9002]

cause:com.businessobjects.ras21.clientsdk.ServerConnectionException: A request was cancelled. The necessary security privileges could not be verified. [R21ADAPTJ5068]

[RASLIB9002]

detail:A request was cancelled. The necessary security privileges could not be verified. [R21ADAPTJ5068]

[RASLIB9002] A request was cancelled. The necessary security privileges could not be verified. [R21ADAPTJ5068]

 

     at com.crystaldecisions.sdk.occa.managedreports.ps.internal.PageServerError.getException(PageServerError.java:70)

     at com.crystaldecisions.sdk.occa.managedreports.ps.internal.RAS21PageServerRequester.getExceptionWithRootCause(RAS21PageServerRequester.java:367)

     at com.crystaldecisions.sdk.occa.managedreports.ps.internal.RAS21PageServerRequester.init(RAS21PageServerRequester.java:236)

     at com.crystaldecisions.sdk.occa.managedreports.ps.internal.RAS21PageServerRequester.(RAS21PageServerRequester.java:79)

     at com.crystaldecisions.sdk

 

Edited by: mortias on Jan 3, 2012 10:05 AM

 

Edited by: mortias on Jan 3, 2012 10:06 AM

java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1

$
0
0

Hi,

 

  How to resolve the below error in Crystal reports usin JSP;

 

Error Stack Trace:

 

java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1

ORA-01000: maximum open cursors exceeded

ORA-00604: error occurred at recursive SQL level 1

ORA-01000: maximum open cursors exceeded

ORA-01000: maximum open cursors exceeded

 

I am using below code to genrate report:


String reportPath;

Object reportSource;

ReportClientDocument reportClientDocument;

ByteArrayInputStream byteArrayInputStream;

byte[] byteArray;

int bytesRead;

 

reportPath = request.getParameter("_reportName");

 

reportClientDocument = new ReportClientDocument();

 

reportClientDocument.setReportAppServer(ReportClientDocument.inprocConnectionString);

 

reportClientDocument.open(reportPath, OpenReportOptions._openAsReadOnly);

 

 

reportSource = reportClientDocument.getReportSource();

session.setAttribute("ReportSource", reportSource);

 

byteArrayInputStream = (ByteArrayInputStream) reportClientDocument

        .getPrintOutputController().export(ReportExportFormat.PDF);

 

response.reset();

 

response.setHeader("Content-disposition", "inline;filename=crreport.pdf");

response.setContentType("application/pdf");

 

byteArray = new byte[1024];

while((bytesRead = byteArrayInputStream.read(byteArray)) != -1) {

response.getOutputStream().write(byteArray, 0, bytesRead);

}

 

response.getOutputStream().flush();

response.getOutputStream().close();

 

reportClientDocument.close();

 

 

Thanks

Penchal

Exception in thread "Background Batch Spiller 0"

$
0
0

Hi,

 

Is there a way to close background threads when using backend report engine components? We have a Domino Java agent that accesses a Crystal Reports report and exports data to pdf. The agent runs successfully and the report is created without any issues but we are seeing a bunch of exceptions in the Domino server console when the agent runs:

 

[11E4:0010-14D8] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error: Exception in thread "Background Batch Spiller 0"

[11E4:0011-14D8] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error: java.lang.IllegalMonitorStateException

[11E4:0013-14D8] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:138)

[11E4:0015-14D8] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1250)

[11E4:0017-14D8] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at java.util.concurrent.locks.ReentrantLock.unlock(ReentrantLock.java:442)

[11E4:0019-14D8] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:417)

[11E4:001B-14D8] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at com.crystaldecisions.reports.saveddata.saveddata.Batch$d.if(SourceFile:943)

[11E4:001D-14D8] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at com.crystaldecisions.reports.saveddata.saveddata.Batch$d.a(SourceFile:957)

[11E4:001F-14D8] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at com.crystaldecisions.reports.saveddata.saveddata.Batch$d.run(SourceFile:991)

[11E4:0021-14D8] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at java.lang.Thread.run(Thread.java:761)

[11E4:0023-1B74] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error: Exception in thread "Background Batch Spiller 1"

[11E4:0024-1B74] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error: java.lang.IllegalMonitorStateException

[11E4:0026-1708] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error: Exception in thread "Background Batch Spiller 2"

[11E4:0027-1B74] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:138)

[11E4:0028-1708] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error: java.lang.IllegalMonitorStateException

[11E4:002B-1B74] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1250)

[11E4:002C-1708] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:138)

[11E4:002F-1B74] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at java.util.concurrent.locks.ReentrantLock.unlock(ReentrantLock.java:442)

[11E4:0030-1708] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1250)

[11E4:0033-1B74] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:417)

[11E4:0034-1708] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at java.util.concurrent.locks.ReentrantLock.unlock(ReentrantLock.java:442)

[11E4:0037-1B74] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at com.crystaldecisions.reports.saveddata.saveddata.Batch$d.if(SourceFile:943)

[11E4:0038-1708] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:417)

[11E4:003B-1B74] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at com.crystaldecisions.reports.saveddata.saveddata.Batch$d.a(SourceFile:957)

[11E4:003C-1708] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at com.crystaldecisions.reports.saveddata.saveddata.Batch$d.if(SourceFile:943)

[11E4:003F-1B74] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at com.crystaldecisions.reports.saveddata.saveddata.Batch$d.run(SourceFile:991)

[11E4:0040-1708] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at com.crystaldecisions.reports.saveddata.saveddata.Batch$d.a(SourceFile:957)

[11E4:0043-1B74] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at java.lang.Thread.run(Thread.java:761)

[11E4:0044-1708] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at com.crystaldecisions.reports.saveddata.saveddata.Batch$d.run(SourceFile:991)

[11E4:0047-1708] 03/31/2015 11:08:04 AM  Agent Manager: Agent  error:  at java.lang.Thread.run(Thread.java:761)

 

The agent calls reportClientDoc.close(); as needed. Is there anything else needed? Our client is concerned that these background threads might cause their Domino server to crash unexpectedly. Thanks in advance!

Line Feed Char printing as a Square[]

$
0
0

I have a Function field called @Property Address.

 

It contains the following where ChrW(10) = New Line character:

 

WhilePrintingRecords;

StringVar PropertyAddress;

PropertyAddress:= " ";

 

If {?HotelAddress1}  <> "" then

PropertyAddress:= PropertyAddress &  {?HotelAddress1} ;

 

If {?HotelAddress2} <> "" then

PropertyAddress:= PropertyAddress & ChrW(10)  & {?HotelAddress2} ;

 

If {?HotelCity}  <> "" then

PropertyAddress:= PropertyAddress & ChrW(10) & {?HotelCity} & ", " & {?HotelState} & " " & {?HotelZip};

 

If {@PropertyPhones} <> "" then

PropertyAddress:= PropertyAddress & ChrW(10) & {@PropertyPhones} ;

 

If {@WebEmail} <> "" then

PropertyAddress:= PropertyAddress & Chr(10) & {@WebEmail} ;

 

Trim(PropertyAddress)

 

 

 

When previewing report in CR2008 Viewer it looks great.  I get the address block renedered nicely.

 

When I print to printer I get a Sqaure representing the LF on every line.

 

How can I get this to stop rendering the sqaure???

 

Fixed spelling - Edited by: InnMate on Sep 18, 2009 7:07 PM

Error code:-2147467259 Error code name:failed Java desktop application


Couldn't find 3-letter language code for en_en---- Error code:-2147467259

$
0
0

Hi team,

 

While i am trying to export the reportclient document to PDF , i am facing problem.

I am using crystal reports 2008.

 

Java code used to export to PDF :

      

ByteArrayInputStream byteInputStream = (ByteArrayInputStream) reportClientDocument.getPrintOutputController().export(ReportExportFormat.PDF);

 

 

Error shown up in logs due to the above line

 

com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: Couldn't find 3-letter language code for en_en---- Error code:-2147467259 Error code name:failed

at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.if(SourceFile:237)

at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(SourceFile:147)

at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(SourceFile:128)

 

Need help to find the root cause of this issue and the appropriate fix.

 

Thanks

writing report from scratch using JRC API

$
0
0

Hi, I'm writing report from scratch using the JRC API. I have two problems that I can't seem to get over. Could you help?

 

1. there is always an extra row/rows if the data set on the table exceeds portrait width limit. Even though I'd changed the page orientation to landscape and the complete data is coming out on one row, there is always extra white spaces after each row as if I did not adjust the orientation or field width. How could I get rid of that?

 

2. I'm using ResultSet as data source. However, the Timestamp field is not coming out right when using the toText(fieldName, 'mm-dd-yyyy hh:mm:ss') to format. If I were to select and see the value in database, the field value is complete with date and time. So for this date '02-10-2014 12:34:59", it displays properly in the database SQL view. But when it run through the formular field, I get '02-10-2014 hh:mm:ss' as the output. If I change the formula to toText(CDateTime(fieldName), 'mm-dd-yyyy hh:mm:ss'), it comes out as '02-10-2014 12:00:00". How can I fix that? Thanks!

Crystal Report integation with Java Front end applicatin

$
0
0

Folks,

 

 

We have front end application in JAVA and  we are planning to migrate Crystal Reports 2011 from actuate.

 

Users want us to Integrate Crystal Report Viewer Plugin with front end and use Customize Report Viewer(Opendoc) .

 

Not sure if this is the recommended approach.

 

Pls do share your inputs

 

Regards,

Jyoti

Crystal reports using wrong database at runtime with oracle

$
0
0

Hi All,

   I'm using Crystal Reports for eclipse (v11.8.0 in the settings tab) with an Oracle 10g database.

We're using JNDI for our runtime datasource (set via "JNDI Connection Source" property in the data view of the IDE).

Report previews are working correctly and deployments run against the same development database they were designed with work correctly at run time (and use the JNDI data source form the app server).

 

When the application is deployed outside the development environment the first run of any report returns an

"JDBC Error: ORA-00942: table or view does not exist"

error. Running the same report again works but appears to return data from the wrong database (not the one referenced by the JNDI source).

 

We have multiple instances of the same database in different schemas and we rely on queries to use the default schema based on the user credentials supplied (ie. the default schema for USER1 is SCHEMA1 as configured in oracle).

 

My understanding is that Crystal will generate the reports SQL (which includes the schema name in the form SCHEMA1.table_name) at runtime but this doesn't appear to be happening in our case.

 

Is there a way to force crystal to regenerate the SQL or to always use the default schema for queries?

 

Thanks,

   Cameron.

Set the record selection formula on Crystal Reports using the Java API

$
0
0

I was doing some research on how to set the record selection formula on Crystal Reports using the Java API and noticed that there are 3 methods with which you can do this:

 

1. Using the IFilter interface as shown in this example provided by SAP:

// Set the filter string to be used as the Record Filter

String freeEditingFilter = "{Customer.Country} = 'Canada'";

// Retrieve the record filter for the Data Definition Controller

IFilter iFilter = clientDoc.getDataDefController().getDataDefinition().getRecordFilter();

// Set the filter to free editing text filter string

iFilter.setFreeEditingText(freeEditingFilter);

// Modify the filter through the Record Filter Controller to the report

clientDoc.getDataDefController().getRecordFilterController().modify(iFilter);

 

2. Using the setFormulaText method:

clientDoc.getDataDefController().getRecordFilterController().setFormulaText("{Customer.Country} = 'Canada'");

 

3. Using parameters. Parameters can be passed to the report using code (you can use the addDiscreteParameterValue function in the helper class) or else they can be filled in by the user during runtime

 

I would like to know what the best method to opt for is. From the research carried out so far, I do not believe that using parameters (method 3) is the best option since I do not want to let the user enter the parameter values on screen. Also, I believe that method 1 and method 2 do the same job, however I want to know what the difference between the two methods is?

Could not initialize class com.crystaldecisions.reports.formatter.export2.E

$
0
0

i m using Eclipse 3.4.1 Crystal Reports development tool. I have tried to develop a report. On preview it's working fine. when i host the application into tomcat6.0 and tried to open the link, web page provides an Error like "Could not initialize class com.crystaldecisions.reports.formatter.export2.ExportSupervisorEx"

 

1 hr before it was worked but not now. i had tried in all the way but getting same problem.

 

Anyone help me to solve this issue.

 

Thanks in advance.

 

Regards,

Ram

No Sax Parser is available

$
0
0

Hi,

 

I use the latest Crystal reports plugin for Eclipse (latest version) on tomcat 5.5 using Windows 2003 server.I have reported this before but was not able to resolve the issue and now it is making our application unusable so I come with an open heart for some further advise. It only happens on our live environment (note this live environment also has a application using Crystal XI equivalent) and will be okay for a week, and once this error occurs we have to reboot the server.

I need some guidance on what to try next, as my java knowledge is a work in progress.

 

The error message:

No Sax Parser is available

com/crystaldecisions/xml/serialization/SourceFile, line 65.

 

I have read some other threads to do with serialisation but I don't understand enough to assist me with my problem. Below are further details of the error:

com.crystaldecisions.xml.serialization.XMLObjectSerializer.(SourceFile:65)    com.crystaldecisions.proxy.remoteagent.ClientSDKOptions.readClientSDKOptions(SourceFile:147)    com.crystaldecisions.sdk.occa.report.application.ReportClientDocument.n(SourceFile:1129)    com.crystaldecisions.sdk.occa.report.application.ReportClientDocument.j(SourceFile:275)    com.crystaldecisions.sdk.occa.report.application.ReportClientDocument.(SourceFile:244)    com.businessobjects.samples.CRJavaHelper.openReport(CRJavaHelper.java:788)    com.businessobjects.samples.CRJavaHelper.validateReport(CRJavaHelper.java:941)

 

The openReport, line 788: clientDoc = new ReportClientDocument();

I use: com.crystaldecisions.sdk.occa.report.application.

Should I use com.crystaldecisions.report.sdk, or com.crystaldecisions12.sdk.occa.report.application.

 

This is my openReport

public static ReportClientDocument openReport (String rptName, HttpSession session,                                         ServletContext serContext,     boolean doSubReports) throws ReportSDKException, Exception {               //ReportClientDocument clientDoc = (ReportClientDocument) session.getAttribute(rptName);          ReportClientDocument clientDoc = (ReportClientDocument) serContext.getAttribute(rptName);               if (clientDoc == null) {               // 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);                              clientDoc.open(rptName, OpenReportOptions._openAsReadOnly);

 

The mechanism I log onto the report is below. This was adviced by Ted as I had problems with the standard helper functions causing a problem with alias tables:

 

DatabaseController databaseController = clientDoc.getDatabaseController();            ConnectionInfos connectionInfos = (ConnectionInfos)databaseController.getConnectionInfos(null);            // Get old connection info            IConnectionInfo oldConnectionInfo = connectionInfos.getConnectionInfo(0);          // Build new connection Info                   IConnectionInfo newConnectionInfo = new ConnectionInfo();                   newConnectionInfo.setKind(ConnectionInfoKind.SQL);            PropertyBag newProperties = new PropertyBag();                      newProperties.put("Connection URL", connectString);           newProperties.put("Server Type", "JDBC (JNDI)");           newProperties.put("Database DLL", "crdb_jdbc.dll");           newProperties.put("Database Class Name", driverName);                         newConnectionInfo.setAttributes(newProperties);            newConnectionInfo.setUserName(userName);            newConnectionInfo.setPassword(password);                        {              databaseController.replaceConnection(oldConnectionInfo, newConnectionInfo, null, DBOptions._useDefault +  DBOptions._doNotVerifyDB);              databaseController.logon(userName, password);            }            // SUB REPORTS...            if (doSubReports)     {                 SubreportController src = clientDoc.getSubreportController();              IStrings strs = src.getSubreportNames();              Iterator<?> it = strs.iterator();              while (it.hasNext())               {                                   String name = (String)it.next();                ISubreportClientDocument subreport = src.getSubreport(name);                DatabaseController sdc = subreport.getDatabaseController();                                connectionInfos = sdc.getConnectionInfos(null);                                IConnectionInfo oldci = connectionInfos.getConnectionInfo(0);                                                    IConnectionInfo newci = new ConnectionInfo();                     newci.setKind(ConnectionInfoKind.SQL);                                                newci.setAttributes(new PropertyBag(newProperties));                     newci.setUserName(userName);                     newci.setPassword(password);                                          sdc.replaceConnection(oldci, newci, null, DBOptions._useDefault + DBOptions._doNotVerifyDB);                           sdc.logon(userName, password);                                                                       }            } 

 

Any help seriously appreciated.

 

Regards

 

Matthew


ReportSDKException: Failed to bind columns

$
0
0

Hi

 

I am getting the following exception when my SQL Function is returning more than 10 column fields. I am using the Crystal reports 2008 SP2. Java environment.

 

com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: Failed to bind columns.---- Error code:-2147467259 Error code name:failed com.crystaldecisions.sdk.occa.report.application.PrintOutputController.if(SourceFile:237) com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(SourceFile:147) com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(SourceFile:128) com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(SourceFile:111)

 

Is any setting limiting the columns returning from cystal reports?

 

 

Any help appreciated. Thank you

Subreports using stored procedure within a main report using a resultset

$
0
0

Hello,

I'm using Crystal Report Java SDK for simple report and report with subreports.

 

When I use store procedures for my main report and my subreports, everything is fine, the process is "automatic".

 

But when I use the same main report with a resultset and still stored procedures for my subreports I'm facing some "problems".

The thing is I have to set each parameters of each subreport... But I'm trying to do it in a generic way and I want to fetch each link between main report and subreport and to set subreport parameters with the right values.

1) When I loop on the SubreportLinks for a given subreport, I only have half of the attributes : the report side.

SubreportController subreportController = clientDoc.getSubreportController();

SubreportLinks links = subreportController.getSubreportLinks(subreportName);

I can't do anyhting without both side. So I'm wondering why i only have one side and if I do it the right way...

2) If the report parameter of my SubreportLink object is a ParameterField, I don't have anything at all

 

Facing this issue, I'm trying to do in a different way.

I'm using a resulset in input because I want to generate a report only if I have data in my ResultSet.

So, using a stored procedure for main report and subreports, the normal way, how can I know if the report ResultSet is empty or not ?

Or, is there a way not to generate the report is empty ? A counter ?

 

If I use :

clientDoc.getRowsetController().getRowsetBatchSize();

 

I always get "100", the default value.

But if I refresh the controller before getting the rowset batch size, I have an exception : "parameters are empty".

clientDoc.getRowsetController().refresh();

clientDoc.getRowsetController().getRowsetBatchSize();

 

Could someone help me solving this issue ?

 

Thank you,

Nicolas

Cr4e V2 Report stuck in infinite loop

$
0
0

Recently we upgraded to Cr4e V2 from JRC. Our reports were running fine. We have replaced the ChangeTableLocation calls with ReplaceConnection calls with the _doNotVerifyDB option. Most of the reports run fine.

 

We have several reports which use a view into another DB (Oracle). These reports have an image on them that is pulled from that view and displayed on the page. The reports never stop running. I have set the crystal debug levels to info and I can see that it's stuck calling the same query over and over again:

 

2015-08-05 09:15:59,065 INFO [com.crystaldecisions.reports.queryengine.querybuilder] Query:

SELECT "B"."SYSID"

FROM   "E"."B" "B"

WHERE  "B"."SYSID"=3252652

2015-08-05 09:15:59,065 INFO [com.crystaldecisions.reports.formulas.Evaluator] Formula {@Record_Selection} evaluated to: b(true)

2015-08-05 09:15:59,065 INFO [com.crystaldecisions.reports.queryengine] Rowset restart: moveToStart true

2015-08-05 09:15:59,065 INFO [com.crystaldecisions.reports.queryengine] Rowset closeRowset: freeColumnInfo false

2015-08-05 09:15:59,065 INFO [com.crystaldecisions.reports.queryengine] Rowset execute

2015-08-05 09:15:59,065 INFO [com.crystaldecisions.reports.queryengine] Executing query using a Query Definition.

2015-08-05 09:15:59,065 INFO [com.crystaldecisions.reports.queryengine.querybuilder] Query:

SELECT "B"."SYSID"

FROM   "E"."B" "B"

WHERE  "B"."SYSID"=3252652

2015-08-05 09:15:59,065 INFO [com.crystaldecisions.reports.formulas.Evaluator] Formula {@Record_Selection} evaluated to: b(true)

2015-08-05 09:15:59,065 INFO [com.crystaldecisions.reports.queryengine] Rowset restart: moveToStart true

2015-08-05 09:15:59,065 INFO  [com.crystaldecisions.reports.queryengine] Rowset closeRowset: freeColumnInfo false

2015-08-05 09:15:59,065 INFO [com.crystaldecisions.reports.queryengine] Rowset execute

2015-08-05 09:15:59,065 INFO  [com.crystaldecisions.reports.queryengine] Executing query using a Query Definition.

2015-08-05 09:15:59,065 INFO [com.crystaldecisions.reports.queryengine.querybuilder] Query:

 

 

This keeps on going until all available temp space is used up on the server. it is useful to note that these same reports worked fine in the older SDK.

 

Interestingly for SOME of these reports the change datasource never completes and gets stuck doing this:

 

INFO  [com.crystaldecisions.reports.basicdataengine] Regenerating saved records

 

Just prior to that is some debug that says:

 

[com.crystaldecisions.reports.queryengine.querybuilder] Query:

SELECT "I_IMAGE"."IMAGE"

FROM   "IMG"."I_IMAGE" "I_IMAGE"

 

Which does not look correct as there's no where clause and these tables have millions of records in them. if it's trying to pull all the records that would be an issue.

 

Finally. If we remove the image from the reports they work fine.

 

Any and all help will be greatly appreciated.

getting error OCA.oca_abuse: IDL:img.seagatesoftware.com/OCA/oca_abuse

$
0
0

hi,

I am getting following error while trying to get the rights for applications

I am using following Query to get the application

 

SELECT SI_CUID,SI_NAME,SI_DESCRIPTION From CI_APPOBJECTS WHERE SI_PARENTID = 99 Order by SI_NAME

 

and using following Java code to get the rights

 

IInfoObject infoObj = (IInfoObject)infoObjects.get(objs);

ISecurityInfo securityInfo = infoObj.getSecurityInfo();

IRightID[] rights = securityInfo.getKnownRights();

 

I am using BOE XI R2 SP4

what is causing this problem ? the user running this program is logged into CMS as administrator

This problem doesn't happen in all the installations of BOE ? is this some configuration issue ?

 

following is the java stack trace

 

cause:com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuse: IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2

detail:An error occurred at the server :

Plugin Manager error: Unable to locate the requested plugin 353 on the server.

 

The server supplied the following details: OCA_Abuse exception 5122 at [.\exceptionmapper.cpp : 77]  42027

...Plugin Manager error: Unable to locate the requested plugin 353 on the server. Unknown plugin

 

 

 

at com.crystaldecisions.sdk.exception.SDKServerException.map(Unknown Source)

at com.crystaldecisions.sdk.exception.SDKException.map(Unknown Source)

at com.crystaldecisions.sdk.occa.security.internal.f.new(Unknown Source)

at com.crystaldecisions.sdk.occa.security.internal.f.a(Unknown Source)

at com.crystaldecisions.sdk.occa.security.internal.a.getProgIdsWithCustomRights(Unknown Source)

at com.crystaldecisions.sdk.occa.infostore.internal.ar.a(Unknown Source)

at com.crystaldecisions.sdk.occa.infostore.internal.ar.getKnownRights(Unknown Source)

.

.

.

.

Caused by: com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuse: IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2

at com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuseHelper.read(oca_abuseHelper.java:106)

at com.crystaldecisions.enterprise.ocaframework.idl.OCA.OCAs._SessionBatchStub.Process(_SessionBatchStub.java:70)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at com.crystaldecisions.enterprise.ocaframework.e.invoke(Unknown Source)

at com.crystaldecisions.sdk.occa.security.internal.d.Process(Unknown Source)

... 14 more

Using Java UFL with Crystal Reports Designer 2008

$
0
0

I am trying to use a Java UFL in Crystal Reports Designer 2008 and used the following guide:

 

https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c09feb84-8b1e-2b10-7b8c-8bf2f5e703d9

 

However, I never see the "MyLibrary" UFL in "Additional Functions".

 

I took the following steps:

 

1. Created the UFL using eclipse and entered in the .classpath file the location of CrystalFormulas.jar and CrystalReportingCommon.jar; NOTE I placed all the files under root thus there are no packages.

 

2. Exported all my files as a jar file named "MyLibrary"

 

3. Took the "MyLibrary.jar" and placed it in "C:Program FilesBusiness ObjectsCommon4.0javalib"

 

4. Went to my "Environment Variables" and added the following files in the CLASSPATH under the "System variables"

 

pathCrystalFormulas.jar

pathCrystalReportingCommon.jar

pathu211java.jar

pathlog4j.jar

pathicu4j.jar

 

5. Ensured that the "JAVA_HOME" in the "System Variable" was pointing to "C:Program FilesJavajdk1.6.0_07"

 

6. Opened the "regedit" and went to HKEY_LOCAL_MACHINESOFTWAREBusiness ObjectsSuite 12Crystal Reports then created a sub key New>String Value and name it JREPath. Then I entered the value pathjvm.dll

 

7.Opened my CRConfig.xml file and entered in the "ExternalFunctionLibraryClassnNames"; "MyLibrary"

 

8. I included all the paths of the above jar files in the Classpath of the "CRConfig.xml" file

 

9. I checked that the u211java.dll was in "C:Program FilesBusiness ObjectsBusinessObjects Enterprise 12.0win32_x86" path.

 

10 I restarted my computer.

 

I have also checked other forums for the solution and I have unable to make my UFL work.

 

Any suggestions?

 

Thanks for your help.

 

Valentine

Viewing all 893 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>