cancel
Showing results for 
Search instead for 
Did you mean: 

IXMLDataSet anyone ????

Former Member
0 Kudos

<p>I am trying to get some JRC code working using XML data pushed by java application (via reportClientDoc.getDatabaseController().setDataSource(xmlData,"",""); ).</p><p>I only get errors, concerning characters encoding (the CR class ByteArray is <strong>really</strong> strange), or javax.xml.namespace.QName version conflicts.</p><p>All the feedbacks around the web about pushed XML data show only disapointments and unanswered help calls.</p><p>Please, is there any official documentation or pending issue ???? <br /></p>

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

<p>I had some improvement yesterday. My report is finally generated, but with a wrong page size. This report is based on a 21x7cm paper size but JRC always use Letter US (in viewers and exports). This is a real blocking issue for me.</p><p>Logs also show intriguing error messages :</p><p>ERROR - QueryEngine error: verify database failed.<br />ERROR - JRCAgent12 received a request that cannot be handled by the JRC<br />ERROR - JRCAgent12 detected an exception: Currently not implemented in the Java Reporting Component</p><p>The report is generated anyway... so I consider this as a warning about XML data validation.</p><p>During the development of this simple test, I had to :</p><p>- write a new IByteArray implementation object, as com.crystaldecisions.sdk.occa.report.lib.ByteArray always striped down lots of essential XML characters (<, >, =, ", spaces...) in order to have the setDataSource(IXMLDataSet, String, String) method work. </p><p>- clean up libraries containing multiple versions of javax.xml.namespace.QName : xbeans.jar (keep this one) and jaxrpc.jar, as well as WAS5.1 qname.jar that I replaced with xbeans.jar in WAS libs. </p><p>- figure out that providing "" as table names to setDataSource(IXMLDataSet) would not work properly. Providing the XML root node name seem to be the solution.</p><p>Considering Java development, I&#39;d say my experience with JRC is disappointing. Some Object designs are nonsense (why use that awful ByteArray of your own where you could have a nice and standard InputStream or Reader instead ?), the JRC javadoc is poor and leaves the developer with a lot of unanswered questions regarding the API.</p><p>My main concern is now page formatting. My company will hardly be able to use Crystal Reports if reports page sizes can&#39;t be defined on a per-report basis for PDF exporting.</p><p>Any clue on this topic is welcome. </p>

Former Member
0 Kudos

<p>&nbsp;</p><p>Hello Nivek,</p><p>Some comments on the issues you&#39;ve been encountering:</p><p>ERROR - JRCAgent12 detected an exception: Currently not implemented in the Java Reporting Component <br /></p><p>isn&#39;t related to the problem you&#39;re seeing. The error message is logged whenever you&#39;re setting a datasource or changing a database connection. It&#39;s an incorrect log message - when some functionality was moved in the JRC, they forgot to remove the logging. This error is not logged with CR for Eclipse, only with JRC XI Release 2 and older.</p><p>The Qname exception is thrown because some changes were made to the JAX jar files supplied - the Qname method is missing from older classes. Updating the jax jar files, as you appear to have done, resolves the issue.</p><p>My understanding is that ByteArray is used since the underlying functionality requires byte[], and not InputStream. I suppose a convenience feature could have been implemented that takes a user&#39;s InputStream and writes it out internally into a byte[], but they didn&#39;t.</p><p>The paper size issue - JRC XI Release 2 had issues with custom paper sizes - it could only use default ones exposed by Java 2D library.</p><p>CR for Eclipse (newest version of JRC) does not have this limitation, and you can create reports with Custom paper sizes, and have them export PDF with that size. </p><p>I&#39;d recommend upgrading to CR for Eclipse - note that your CR Developer XI Release 2 keycode will still work with CR for Eclipse applications.</p><p>I agree with you that the documentation could be better. </p><p>TUeda </p>

Former Member
0 Kudos

<p>Thank you for your answer,</p><p>I&#39;m gonna try with CR4E today, but I thought XML data sources were not implemented in CR4E... Did I miss something ? </p><p>&nbsp;</p><p>EDIT : after a few hours testing, I can confirm CR4E does not support XML data sources............. </p>

Former Member
0 Kudos

<p>Hello Nivek,</p><p>When you invoke the ReportClientDocument.getDatabaseController().setDataSource(IXMLDataSet, String, String) method within CR4E, what error do you get?</p><p>Note that there&#39;s issues with the CR4E "Database Explorer" view, since it uses Eclipse database view to display the database connections, and not all database/table/stored proc types that CR can use can be displayed in the view. </p><p>If you take your current JRC XI Release 2 application and remove the JRC XI Release 2 jar files, and add the CR4E jar files, do you get an error when you try and inject XML data? Note that you should use the report you designed with XI R2 designer.<br /> </p><p>TUeda </p>

Former Member
0 Kudos

<p>&nbsp;</p><p>Hello Nivek,</p><p>I&#39;ll be also testing on my deploy.</p><p>Sincerely,</p><p>TUeda </p>

Former Member
0 Kudos

<p>Ted,</p><p>I have the same problems with my app as described here :</p><p><a href="/node/1429">http://diamond.businessobjects.com/node/1429</a> </p><p>Thanks a lot for your support ! </p><p> Edit : maybe you can ask Sean Johnson, I found <a href="http://209.85.129.104/search?q=cache:WjT4p_3PSxYJ:diamond.businessobjects.com/node/531CR4EXML" target="_blank" title="I found this in Google cache">this in google cache</a> . <br /></p>

Former Member
0 Kudos

<p>&nbsp;</p><p>Hello Nivek,</p><p>Regret not getting a chance to test today, will try and get time tomorrow.</p><p>Couple of points:</p><p>Sean&#39;s post essentially expands on my previous post. That the issue with XML is strictly with the CR4E database view, and not with the JRC libraries that come with CR4E. </p><p>In fact, if you take your JRC XI R2 application, remove the XI R2 jar files, and replace them with CR4E JRC jar files (default <eclipse>/plugins/com.businessobjects.sdks.jrc.11.8.0_11.8.1.v671/lib), then your JRC application should work as before. </p><p>If it doesn&#39;t, then that&#39;s a trackable issue.</p><p>Also, when using the JRC, it doesn&#39;t use crdb_xml.dll - all the functionality is in the jar files and viewer folder.</p><p>TUeda </p>

Former Member
0 Kudos

<p>Hi Ted,</p><p>I tried to replace all the CRXIR2 Dev libs of my WSAD test project with CR4E project libs.</p><p>Still the same error when changing Datasource for a IXMLDataSet : java.lang.NoClassDefFoundError: com/crystaldecisions/data/xml/CRDB_XMLImpl </p><p>You can find the whole traces here :<br /></p><p><a href="http://kevin.gaudin.free.fr/crystal/WSADtestWithCR4Elibs.log">http://kevin.gaudin.free.fr/crystal/WSADtestWithCR4Elibs.log</a></p><p>Edit : I just figured out that the CR4E wizard for creating new projects did not include all the jars located in com.businessobjects.sdks.jrc.11.8.0_11.8.1.v671\lib ... all the XML jars are here but were not in my CR4E project WEB-INF/lib folder.</p><p>I Just copied ALL the libs in my WSAD project and it WORKS, and my PDF is generated with a CORRECT PAPER SIZE.</p><p>There is definitely an issue to track in your Eclipse plug-in.</p><p>Here is a fixed plugin.xml that includes ALL the libs :</p><p><a href="http://kevin.gaudin.free.fr/crystal/CR4E11.8.0_11.8.1.v671-JRC-XMLDataSet-Fix.zip">http://kevin.gaudin.free.fr/crystal/CR4E11.8.0_11.8.1.v671-JRC-XMLDataSet-Fix.zip</a> </p><p>Eclipse has to be run with the -clean argument in order to refresh the plugin config.</p><p>Now I can go back to some real evaluation work...</p><p>Thank you Ted for your help. </p><p>Edit : it runs with WSAD... but not with Eclipse. Still investigating... </p>

Former Member
0 Kudos

<p>&nbsp;</p><p>Hello Nivek,</p><p>I&#39;m happy that your project is, at least, moving forward.</p><p>I should have pointed out the JRC jar file location earlier in this thread. I typically manually install the jar files in my projects.</p><p>I&#39;m extremely happy with the upgrades of the JRC engine itself, but I agree that the Eclipse interface can be problematic.</p><p>By the way, I can specify the page size for the report within Eclipse. I hope that&#39;s working for you as well.</p><p>Sincerely,</p><p>TUeda </p>

Former Member
0 Kudos

<p>Hi,</p><p>Today I solved the execution problems I had with Eclipse by setting a large value for Tomcat JVM heap size. My XML test is based on a 3Mo+ file that broke the heap during parsing.</p><p>I can confirm that the JRC has been largely enhanced with CR4E. My report was generated in 5 minutes (1 processor) with CRXIR2 Dev, a bit more than 2,5&#39; with a dual core. With CR4E it is now generated in 1 minute without using the second core. Is there a parameter allowing to activate the multi-core use ?</p><p>&nbsp;</p>

Former Member
0 Kudos

Hi,

I am getting the following exception when trying to set the XMLDATASET in the databaseController.

- Set data source failed: Error loading database connector. The class 'com.crystaldecisions.reports.queryengine.driverImpl.DriverLoader' could not be accessed.

- JRCAgent1 detected an exception: Error loading database connector. The class 'com.crystaldecisions.reports.queryengine.driverImpl.DriverLoader' could not be accessed.

at com.crystaldecisions.reports.reportdefinition.datainterface.a.a(Unknown Source)

at com.crystaldecisions.reports.reportdefinition.datainterface.a.a(Unknown Source)

at com.crystaldecisions.reports.reportdefinition.datainterface.a.a(Unknown Source)

at com.crystaldecisions.reports.reportdefinition.datainterface.g.a(Unknown Source)

at com.crystaldecisions.reports.dataengine.bj.new(Unknown Source)

at com.crystaldecisions.reports.common.as.a(Unknown Source)

at com.crystaldecisions.reports.common.ae.a(Unknown Source)

at com.businessobjects.reports.sdk.b.w.a(Unknown Source)

at com.businessobjects.reports.sdk.b.w.int(Unknown Source)

at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)

at com.crystaldecisions.proxy.remoteagent.x.a(Unknown Source)

at com.crystaldecisions.proxy.remoteagent.q.a(Unknown Source)

at com.crystaldecisions.sdk.occa.report.application.dd.a(Unknown Source)

at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(Unknown Source)

at com.crystaldecisions.sdk.occa.report.application.DatabaseController.setDataSource(Unknown Source)

at com.crystaldecisions.reports.sdk.DatabaseController.setDataSource(Unknown Source)

at Crystal_Pavo.main(Crystal_Pavo.java:63)

com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: Error loading database connector. The class 'com.crystaldecisions.reports.queryengine.driverImpl.DriverLoader' could not be accessed.---- Error code:-2147467259 Error code name:failed

As of now, I am not using CR4E lib. I think I can solve my issue if I use CR4E.

But I dont know where I can get the jars. Pls give the link for download.