cancel
Showing results for 
Search instead for 
Did you mean: 

Error finding JNDI name

Former Member
0 Kudos

Hi,

I am getting the following error. I cannot change the database setings. I am using

Crystal reports for eclipse 2.0 jars. I can change when I was using com.businessobjects.sdks_.jrc_.11.8.0_11.8.5.v1197.zip jars. As it is not supporing Excel export I moved to the Crystal reports for eclipse 2.0 version . I am setting the following properties.

propertyBag.put("Server Name", propertyBag.get("SERVERNAME"));

propertyBag.put("Database DLL", propertyBag.get("Database_DLL"));

propertyBag.put("Server Type", propertyBag.get("Server_Type"));

propertyBag.put("Database Name", propertyBag.get("DATABASE_NAME"));

propertyBag.put("Connection URL", propertyBag.get("CONNECTION_URL"));

propertyBag.put("Database Class Name", propertyBag.get("DATABASE_CLASS_NAME"));

String TRUSTED_CONNECTION = "false";

String USE_JDBC = "false";

String JNDI_OPTIONAL_NAME = "";

propertyBag.put ("JNDIOptionalName", JNDI_OPTIONAL_NAME);

propertyBag.put ("Trusted_Connection", TRUSTED_CONNECTION);

propertyBag.put ("Use JDBC", USE_JDBC);

Can anyone tell me the solution for this problem? I need it . Please help me.

com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: Error finding JNDI name (ESFBYDEV)---- Error code:-2147467259 Error code name:failed

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

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

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

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

at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.a(Unknown Source)

at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.call(Unknown Source)

at com.crystaldecisions.reports.common.ThreadGuard.syncExecute(Unknown Source)

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

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

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

at com.businessobjects.sdk.erom.jrc.a.a(Unknown Source)

at com.businessobjects.sdk.erom.jrc.a.execute(Unknown Source)

at com.crystaldecisions.proxy.remoteagent.RemoteAgent$a.execute(Unknown Source)

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

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

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

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

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

at com.pass.component.CRJAdapter.switch_tables(CRJAdapter.java:283)

at com.pass.component.CRJAdapter.switchTablesToDB(CRJAdapter.java:228)

at com.pass.component.CRJAdapter.createReportPDF(CRJAdapter.java:118)

at CRJAdapterMain.main(CRJAdapterMain.java:34)

Caused by: com.crystaldecisions.reports.common.JndiNotFoundException: Error finding JNDI name (ESFBYDEV)

at com.crystaldecisions.reports.queryengine.Connection.a(Unknown Source)

at com.crystaldecisions.reports.queryengine.Connection.bv(Unknown Source)

at com.crystaldecisions.reports.queryengine.Connection.bv(Unknown Source)

at com.crystaldecisions.reports.queryengine.Connection.va(Unknown Source)

at com.crystaldecisions.reports.dataengine.dfadapter.DFAdapter.a(Unknown Source)

at com.businessobjects.reports.sdk.requesthandler.DatabaseRequestHandler.a(Unknown Source)

at com.businessobjects.reports.sdk.requesthandler.DatabaseRequestHandler.long(Unknown Source)

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

... 20 more

Caused by: com.businessobjects.reports.jdbinterface.common.DBException: Error finding JNDI name (ESFBYDEV)

at com.crystaldecisions.reports.queryengine.driverImpl.jdbc.JDBCConnection.Open(Unknown Source)

at com.crystaldecisions.reports.queryengine.JDBConnectionWrapper.Open(Unknown Source)

... 27 more

com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: Error finding JNDI name (ESFBYDEV)---- Error code:-2147467259 Error code name:failed

at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.if(Unknown Source)

at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)

at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)

at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)

at com.pass.component.CRJAdapter.createReportPDF(CRJAdapter.java:122)

at CRJAdapterMain.main(CRJAdapterMain.java:34)

Caused by: com.crystaldecisions.reports.common.JndiNotFoundException: Error finding JNDI name (ESFBYDEV)

at com.crystaldecisions.reports.queryengine.Connection.a(Unknown Source)

at com.crystaldecisions.reports.queryengine.Connection.bv(Unknown Source)

at com.crystaldecisions.reports.queryengine.Connection.bv(Unknown Source)

at com.crystaldecisions.reports.queryengine.Connection.va(Unknown Source)

at com.crystaldecisions.reports.dataengine.dfadapter.DFAdapter.a(Unknown Source)

at com.crystaldecisions.reports.dataengine.dfadapter.DFAdapter.for(Unknown Source)

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

at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.long(Unknown Source)

at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.a(Unknown Source)

at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.int(Unknown Source)

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

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

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

at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.a(Unknown Source)

at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.call(Unknown Source)

at com.crystaldecisions.reports.common.ThreadGuard.syncExecute(Unknown Source)

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

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

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

at com.businessobjects.sdk.erom.jrc.a.a(Unknown Source)

at com.businessobjects.sdk.erom.jrc.a.execute(Unknown Source)

at com.crystaldecisions.proxy.remoteagent.RemoteAgent$a.execute(Unknown Source)

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

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

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

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

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

... 6 more

Caused by: com.businessobjects.reports.jdbinterface.common.DBException: Error finding JNDI name (ESFBYDEV)

at com.crystaldecisions.reports.queryengine.driverImpl.jdbc.JDBCConnection.Open(Unknown Source)

at com.crystaldecisions.reports.queryengine.JDBConnectionWrapper.Open(Unknown Source)

... 32 more

Accepted Solutions (1)

Accepted Solutions (1)

ted_ueda
Active Contributor
0 Kudos

It's looking for JNDI name ESFBYDEV but I don't see it in your code snippet.

Would you know where that name comes from?

Sincerely,

Ted Ueda

Former Member
0 Kudos

Hi Ted Ueda!

Thanks for your response. I am reading connection settings from a property file.

I am setting the following properties.

propertyBag = new PropertyBag();

propertyBag.putAll(m_properties);

//Overwrite any existing properties with updated values.

propertyBag.put("Server Name", propertyBag.get("SERVERNAME"));

propertyBag.put("Database DLL", propertyBag.get("Database_DLL"));

propertyBag.put("Server Type", propertyBag.get("Server_Type"));

propertyBag.put("Database Name", propertyBag.get("DATABASE_NAME"));

propertyBag.put("Connection URL", propertyBag.get("CONNECTION_URL"));

propertyBag.put("Database Class Name", propertyBag.get("DATABASE_CLASS_NAME"));

and the property file contains:

TABLE_NAME_QUALIFIER=ESFADMIN.

DBUSERNAME=ESFADMIN

DBPASSWORD=esfgeheim

#SERVERNAME=jdbc:oracle:thin:@//10.50.0.151\:1521\ESFBYDEV;date format=iso;time format=iso

CONNECTION_URL=jdbc:oracle:thin:@10.50.0.151:1521:ESFBYDEV

DATABASE_NAME=ESFBYDEV

DATABASE_CLASS_NAME=oracle.jdbc.driver.OracleDriver

URI=!oracle.jdbc.driver.OracleDriver!jdbc:oracle:thin:@:10.50.0.151\:1521/ESFBYDEV; date format=iso;time format=iso!user=!password=

Database_DLL=crdb_jdbc.dll

#DRIVER_JAR_FILES =file:/D:/Bavaria/trunk/PASSTools/VSF/.PASS-Tools/components/platformIndependent/oracle9.2i_1.0.1/ojdbc14.jar

Server_Type=JDBC (JNDI)

This is not working. I added the following also and tested. It is also not working.

String TRUSTED_CONNECTION = "false";

String USE_JDBC = "false";

String JNDI_OPTIONAL_NAME = "";

propertyBag.put ("JNDIOptionalName", JNDI_OPTIONAL_NAME);

propertyBag.put ("Trusted_Connection", TRUSTED_CONNECTION);

propertyBag.put ("Use JDBC", USE_JDBC);

Can you please help me. The same thing is working with com.businessobjects.sdks_.jrc_.11.8.0_11.8.5.v1197. I am getting the problem with runtime jars.

regards,

Maddy

ted_ueda
Active Contributor
0 Kudos

It's looking at either (1) a non-JDBC database connectivity (such as ODBC) or (2) optional JNDI name, either which points to 'ESFBYDEV'.

It's not being set in the code, so is it somewhere in the report?

Is the report ODBC with DSN ESFBYDEV?

Sincerely,

Ted Ueda

Former Member
0 Kudos

yest .rpt contains ODBC connection. But I can change it if I read it by com.crystaldecisions.reports.sdk.ReportClientDocument. But I cannot change from com.crystaldecisions.sdk.occa.report.application.ReportClientDocument.

What might be the problem?

ted_ueda
Active Contributor
0 Kudos

When you have a report with ODBC connectivity, it tries to connect to a JNDI with the same name.

So that means: (1) not all ODBC tables where changed over, or (2) changing connection for a ODBC to JDBC failed, so the engine is trying to use the ODBC connection.

Also, if you're using 11.8, you should not be using the com.crystaldecisions.sdk.occa.report.application.ReportClientDocument, since it's considered internal for that version (but not for 12.0).

Sincerely,

Ted Ueda

Former Member
0 Kudos

I am using runtime jars only. Because I need excel export . So tell me how to change DB settings for all the

tables at time such that I don't get an error.

My code is :

ReportClientDocument reportClientDoc = new ReportClientDocument();

reportClientDoc.open(reportfilename, 0);

switchTablesToDB(reportClientDoc);

setReportParameters(reportClientDoc, params);

...

...

...

private void switchTablesToDB(ReportClientDocument reportClientDoc) {

try {

switch_tables(reportClientDoc.getDatabaseController(), reportClientDoc);

IStrings subreportNames = reportClientDoc.getSubreportController().getSubreportNames();

//Set the datasource for all the subreports.

for (int i = 0; i < subreportNames.size(); i++) {

ISubreportClientDocument subreportClientDoc = reportClientDoc.getSubreportController().getSubreport(subreportNames.getString(i));

switch_tables(subreportClientDoc.getDatabaseController(), reportClientDoc);

}

} catch (Exception e) {

e.printStackTrace();

}

}

-


private void switch_tables(DatabaseController databaseController, ReportClientDocument reportClientDoc) throws ReportSDKException, Exception {

Tables tables = databaseController.getDatabase().getTables();

PropertyBag propertyBag = getPropertyBag();

//Set the datasource for all main report tables.

for (int i = 0; i < tables.size(); i++) {

ITable table = tables.getTable(i);

//Keep existing name and alias.

table.setName(table.getName());

table.setAlias(table.getAlias());

//Change properties that are different from the original datasource.

table.setQualifiedName(propertyBag.getStringValue("TABLE_NAME_QUALIFIER") + table.getName());

//Change connection information properties.

IConnectionInfo connectionInfo = table.getConnectionInfo();

connectionInfo.setAttributes(propertyBag);

connectionInfo.setKind(ConnectionInfoKind.SQL);

connectionInfo.setUserName(propertyBag.getStringValue("DBUSERNAME"));

connectionInfo.setPassword(propertyBag.getStringValue("DBPASSWORD"));

table.setConnectionInfo(connectionInfo);

reportClientDoc.getDatabaseController().logon(propertyBag.getStringValue("DBUSERNAME"), propertyBag.getStringValue("DBPASSWORD"));

//Update old table in the report with the new table.

databaseController.setTableLocation(table, tables.getTable(i));

}

}

regards,

Maddy

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

I have a report(.rpt) file and
its output is Excel. This excel report has a sub report as well.

When I am trying to execute
this report through Java, I am getting following errors:

com.crystaldecisions.sdk.occa.report.lib.ReportSDKException:
Error finding JNDI name
at
com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:2285)

  at
com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:2305)

.

Caused by:
com.crystaldecisions.reports.common.JndiNotFoundException: Error finding JNDI
name

at com.crystaldecisions.reports.queryengine.Connection.a(SourceFile:1871)

  at com.crystaldecisions.reports.queryengine.Connection.br(SourceFile:1815)

.

Caused by: com.businessobjects.reports.jdbinterface.common.DBException:
Error finding JNDI name

Technical details:

SAP Crystal Reports version:14.0.4.738 RTM

JDK: 1.6

CrystalReportEngine/ CrystalQueryEngine versions:

Implementation-Title: Crystal Java Print Engine

Implementation-Version: 11.8.0.671

Implementation-Vendor: Business Objects, Inc.

 

In Java code, I have used: com.crystaldecisions.sdk.occa.report.application.ReportClientDocument;

  

Please advice.

Thanks,

Navdeep

Former Member
0 Kudos

Hi

I would like to know if you solved the issue with the JNDI name not found? I have a Crystal Reports file that uses ODBC connectivity to SQL Server 2008 R2. I just want to extract the sql query command from the report using Eclipse IDE for Crystal Reports, but I am getting the following error.

Any suggestions?

Thanks,

John

com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: Error finding JNDI name (TestDB)---- Error code:-2147467259 Error code name:failed

    at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:2284)

    at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:2304)

    at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(SourceFile:736)

    at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:166)

    at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.a(SourceFile:528)

    at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.call(SourceFile:526)

    at com.crystaldecisions.reports.common.ThreadGuard.syncExecute(SourceFile:102)

    at com.businessobjects.reports.sdk.JRCCommunicationAdapter.for(SourceFile:524)

    at com.businessobjects.reports.sdk.JRCCommunicationAdapter.int(SourceFile:423)

    at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(SourceFile:351)

    at com.businessobjects.sdk.erom.jrc.a.a(SourceFile:54)

    at com.businessobjects.sdk.erom.jrc.a.execute(SourceFile:67)

    at com.crystaldecisions.proxy.remoteagent.RemoteAgent$a.execute(SourceFile:716)

    at com.crystaldecisions.proxy.remoteagent.CommunicationChannel.a(SourceFile:125)