Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Unable to load database connector - using JRC w/report connecting to Oracle

A simple Java program was created to test a Crystal Report using JRC. The Java program is a thick-client Swing desktop application (modified from an example of crxi_r2_migrating_rdc_to_jrc.pdf). The program failed to execute the report with the following error:

Unable to load database connector u2018com.crystaldecisions.reports.queryengine.driverImpl.DriverLoader'

It might be something simple to correct the problem, but I am not able to find related answers in the documentation and from the forum.

CR version is XI R2. The Java program was compiled and run using jdk1.4.2_13. Oracle is 10.2.

Do I have to use JDBC? or the CR Oracle driver will do? What needs to be setup? If I use JDBC, what do I need to setup (I tried to following the links in the forums or other documentation, but most of the links to http://support.businessobjects.com/.... are broken - i.e. re-route to the SAP support page but not directly linked to the articles)

When the report JRCTestReport.rpt was saved with the option "Save Data With Report", it works fine. So the problem is only with Oracle database driver, the other jars are fine.

In the report JRCTestReport.rpt the database properties are:

DatabaseDLL crdb_oralce.dll

Password

Server myTestDB

Trusted_Connection False

User ID MyUser

The crdb_oracle.dll is located at:

C:\Program Files\Business Objects\Common\3.5\bin

Files are stored in the following tree structure:

<Testing Folder>

JRCTest.java

JRCTest.class

WEB-INF

lib

All required JRC jars and CRConfig.xml

Reports

JRCTestReport.rpt

Java source code JRCTest.java

import java.awt.*;

import javax.swing.*;

import java.io.*;

import com.crystaldecisions.ReportViewer.*;

// Use this for talking to JRC in-process

import com.crystaldecisions.reports.sdk.*;

import com.crystaldecisions.sdk.occa.report.reportsource.*;

public class JRCTest

{

private static void createAndShowGUI()

{

try

{

//Make sure we have nice window decorations.

JFrame.setDefaultLookAndFeelDecorated(false);

//Create and set up the window.

JFrame frame = new JFrame("JRCTest");

frame.setTitle("JRCTest");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

ReportViewerBean viewer = new ReportViewerBean();

System.out.println("ReportViewerBean.init");

viewer.init(new String[0], null, null, null);

System.out.println("new ReportClientDocument");

ReportClientDocument rpt = new ReportClientDocument();

try

{

System.out.println("Openning Report...");

rpt.open("JRCTestReport.rpt", 0);

}

catch (Exception ex)

{

System.out.println("Failed to open report");

System.out.println(ex.toString());

return;

}

try

{

System.out.println("logon...");

rpt.getDatabaseController().logon("myUser", "myPass");

}

catch (Exception ex)

{

System.out.println("Failed to logon");

System.out.println(ex.toString());

return;

}

System.out.println("ReportClientDocument.getReportSource");

IReportSource rptSource = rpt.getReportSource();

viewer.setReportSource(rptSource);

System.out.println("viewer.setReportSource");

frame.getContentPane().add

(viewer, BorderLayout.CENTER);

frame.setSize(700, 500);

frame.setVisible(true);

viewer.start();

}

catch (Exception exception)

{

System.out.println(exception.toString());

}

}

public static void main(String[] args)

{

javax.swing.SwingUtilities.invokeLater(new Runnable()

{

public void run()

{

createAndShowGUI();

}

});

}

}

Execution result:

C:\tmp\CrystalJavaTest>java -classpath .;./WEB-INF/lib;./WEB-INF/lib/ReportViewe

r.jar;./WEB-INF/lib/jrcerom.jar;./WEB-INF/lib/jrcadapter.jar;./WEB-INF/lib/Concu

rrent.jar;./WEB-INF/lib/CrystalCharting.jar;./WEB-INF/lib/CrystalCommon.jar;./WE

B-INF/lib/CrystalContentModels.jar;./WEB-INF/lib/CrystalExporters.jar;./WEB-INF/

lib/CrystalExportingBase.jar;./WEB-INF/lib/CrystalFormulas.jar;./WEB-INF/lib/Cry

stalQueryEngine.jar;./WEB-INF/lib/CrystalReportEngine.jar;./WEB-INF/lib/CrystalR

eportingCommon.jar;./WEB-INF/lib/icu4j.jar;./WEB-INF/lib/keycodeDecoder.jar;./WE

B-INF/lib/log4j.jar;./WEB-INF/lib/MetafileRenderer.jar;./WEB-INF/lib/rasapp.jar;

./WEB-INF/lib/rascore.jar;./WEB-INF/lib/rpoifs.jar;./WEB-INF/lib/Serialization.j

ar;./WEB-INF/lib/URIUtil.jar;./WEB-INF/lib/xercesImpl.jar;./WEB-INF/lib/xml-apis

.jar JRCTest

Starting

Crystal Report Viewer 2.1.21.2

java.vendor = Sun Microsystems Inc.

java.version = 1.4.2_13

os.name = Windows XP

os.version = 5.1

os.arch = x86

ReportViewerBean.init

new ReportClientDocument

Openning Report...

logon...

ReportClientDocument.getReportSource

viewer.setReportSource

ERROR - JRCAgent1 detected an exception: Unable to load database connector 'com.

crystaldecisions.reports.queryengine.driverImpl.DriverLoader'.

at com.crystaldecisions.sdk.occa.report.lib.ReportSDKException.throwRepo

rtSDKException(Unknown Source)

at com.businessobjects.reports.sdk.b.i.if(Unknown Source)

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

at com.businessobjects.reports.sdk.b.i.byte(Unknown Source)

at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unkno

wn Source)

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

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

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

at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unkno

wn Source)

at com.crystaldecisions.sdk.occa.report.application.ReportSource.getPage

(Unknown Source)

at com.crystaldecisions.sdk.occa.report.application.AdvancedReportSource

.getPage(Unknown Source)

at com.crystaldecisions.sdk.occa.report.application.NonDCPAdvancedReport

Source.getPage(Unknown Source)

at com.businessobjects.crystalreports.viewer.core.rs.b.if(Unknown Source

)

at com.businessobjects.crystalreports.viewer.core.av.a(Unknown Source)

at com.businessobjects.crystalreports.viewer.core.av.run(Unknown Source)

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

Unable to load database connector 'com.crystaldecisions.reports.queryengine.driv

erImpl.DriverLoader'.

Former Member
replied

CrystalDatabaseConnectors.jar

Sincerely,

Ted Ueda

0 View this answer in context
Not what you were looking for? View more on this topic or Ask a question