Skip to Content
0
Jan 06 at 04:45 PM

How we can establish TCPS connection with Oracle DB(19c) using Crystal Report ?

413 Views Last edit Jan 07 at 05:17 AM 7 rev

Hello,

We configured TCPS connection to oracle DB, In current project we are establishing TCP connection using below snippet:-

Import com.crystaldecisions.sdk.occa.report.lib.PropertyBag;
PropertyBag propertyBag = null;
propertyBag.put("Trusted_Connection", "b(false)");
propertyBag.put("Server Name", “1521/TEST1”);
propertyBag.put("Connection String", “Use JDBC=b(true);Connection URL=s(jdbc:oracle:thin:@//test.db.com:1521/test1);Database Class Name=s(oracle.jdbc.driver.OracleDriver);JNDI Datasource Name=s();Server=s(1521/TEST1);User ID=s(testuser);Password=;Trusted_Connection=1;JDBC Connection String=s(!oracle.jdbc.driver.OracleDriver!jdbc:oracle:thin:{userid}/{password}:@/test.db.com:1521/test1"!ServerType=5!QuoteChar=\");Generic JDBC Driver Behavior=s(Oracle)”);
propertyBag.put("Server Type", "JDBC (JNDI)");
propertyBag.put("JNDI Datasource Name", “”);
propertyBag.put("Database Class Name",”s(oracle.jdbc.driver.OracleDriver)”);
propertyBag.put("Use JDBC", "true");
propertyBag.put("URI", “!oracle.jdbc.driver.OracleDriver!jdbc:oracle:thin:{userid}/{password}@//test.db.com:1521/testdb1!ServerType=5!QuoteChar=”);
propertyBag.put("Database DLL", crdb_jdbc.dll);

when we try to establish TCPS connection using PropertyBag class for the "URI" parameter with below connection string::-

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCPS)(HOST=testdb.com)(PORT=2484)))(CONNECT_DATA=(SERVICE_NAME=testdb1))(SECURITY=(ssl_server_cert_dnCN=testcluster)))

When we are trying with above approach(try to established TCPS connection) it is giving below error.

ERROR 23-12 05:07:53,545 - detected an exception: Unexpected database connector error

at com.crystaldecisions.reports.queryengine.Connection.t4(SourceFile:3024)

at com.crystaldecisions.reports.queryengine.Table.vc(SourceFile:2417)

at com.crystaldecisions.reports.dataengine.datafoundation.AddDatabaseTableCommand.new(SourceFile:529)

at com.crystaldecisions.reports.common.CommandManager.a(SourceFile:71)

at com.crystaldecisions.reports.common.Document.a(SourceFile:203)

at com.businessobjects.reports.sdk.requesthandler.f.a(SourceFile:175)

at com.businessobjects.reports.sdk.requesthandler.DatabaseRequestHandler.byte(SourceFile:1079)

at com.businessobjects.reports.sdk.JRCCommunicationAdapter.do(SourceFile:1166)

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

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)

at com.crystaldecisions.proxy.remoteagent.RemoteAgent.a(SourceFile:537)

at com.crystaldecisions.sdk.occa.report.application.ds.a(SourceFile:186)

at com.crystaldecisions.sdk.occa.report.application.an.a(SourceFile:108)

at com.crystaldecisions.sdk.occa.report.application.b0.if(SourceFile:148)

at com.crystaldecisions.sdk.occa.report.application.b0.b(SourceFile:95)

at com.crystaldecisions.sdk.occa.report.application.bb.int(SourceFile:96)

at com.crystaldecisions.proxy.remoteagent.UndoUnitBase.performDo(SourceFile:151)

at com.crystaldecisions.proxy.remoteagent.UndoUnitBase.a(SourceFile:106)

at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(SourceFile:2159)

at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(SourceFile:543)

at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(SourceFile:3898)

at com.crystaldecisions.sdk.occa.report.application.DatabaseController.setTableLocation(SourceFile:2906)

at us.ri.eohhs.uhip.ies.rp.batch.bo.RpJRCExportReport.runReportExport(RpJRCExportReport.java:666)

at us.ri.eohhs.uhip.ies.rp.batch.bo.RpScheduleReportRun.process(RpScheduleReportRun.java:169)

at us.ri.eohhs.uhip.ies.rp.batch.bo.RpScheduleReportRun.drive(RpScheduleReportRun.java:241)

at us.ri.eohhs.uhip.ies.rp.batch.bo.RpScheduleReportRun.main(RpScheduleReportRun.java:265)