Understanding Solution Kits for Crystal Enterprise

Troubleshooting

graphics/troubleshooting_icon.jpg

Publishing with a COM or Java Provider

I've published a report using a COM (or Java) data provider to Crystal Enterprise, but I am getting errors when the report is run.

Whenever one of these types of reports is published to Crystal Enterprise, you need to make sure you copy the COM or Java component to the machines running the Page and Job servers. This component needs to be installed and registered properly before the report can invoke it.

I am receiving errors when I try to connect to the Java data provider.

Make sure that you have installed a Java Virtual Machine (JVM, also called the Java Runtime Environment). The JVM is required to connect to Java data providers.

Crystal Reports in the Real WorldLeveraging XML as a Data Source

With the emergence of XML as a data interchange format, many customers wanted to create reports on XML documents. So in Crystal Reports 8.5, a new driver was released that allowed just this scenario. This ODBC driver reads certain types of XML documents. Version 10 of Crystal Reports provides the capability to read multiple XML files, most commonly a folder of XML files that have the same schema. When using this driver, you specify either a folder name or a file path to an XML file. Once connected, XML elements at the first level are represented as fields that you can place on a report.

If you require more flexibility around reading XML files, a good approach to take is to write a COM or Java Data Provider to read the XML. This Data Provider can use one of the many readily available XML parsers to read in the XML and choose exactly what fields to return to Crystal Reports. Listing 15.3 is a sample Visual Basic COM Data Provider that reads in a simple XML file.

Listing 15.3. A COM Data Provider That Reads XML Data

' Loads an XML document with the following structure:

' 

' 

' X

' X

' X

' 

' 

Public Function SimpleXML(fileName As String) As ADODB.Recordset

 Dim rs As New ADODB.Recordset



 Dim xmlDoc As New MSXML2.DOMDocument

 xmlDoc.Load (fileName)



 rs.fields.Append "Name", adBSTR

 rs.fields.Append "Dept", adBSTR

 rs.fields.Append "Salary", adCurrency

 rs.Open



 ' Loop through each employee element

 Dim employeeNode As MSXML2.IXMLDOMElement

 Dim childNode As MSXML2.IXMLDOMElement



 For Each employeeNode In xmlDoc.documentElement.childNodes

 rs.AddNew

 For Each childNode In employeeNode.childNodes

 rs(childNode.nodeName).Value = childNode.Text

 Next

 rs.Update

 Next



 Set SimpleXML = rs

End Function





Special Edition Using Crystal Reports 10
Special Edition Using Crystal Reports 10
ISBN: 0789731134
EAN: 2147483647
Year: 2003
Pages: 341
Simiral book on Amazon

Flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net