on 01-06-2022 4:45 PM
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)
Though I am only familiar with Netweaver on Oracle, but please try whether below helps to do troubleshooting:
1. get an sqlplus
2. sqlplus /nolog
conn username/password@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCPS)(HOST=testdb.com)(PORT=2484)))(CONNECT_DATA=(SERVICE_NAME=testdb1))(SECURITY=(ssl_server_cert_dnCN=testcluster)))
See whether there is error on this connection string, this can somehow exclude connection string issue or software issue, ect.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
All I can say is that for regular SAP Netweaver systems we do not support TCPS connection. This is documented in below SAP note:
https://launchpad.support.sap.com/#/notes/105047
Maybe this is the case with the Crystal Report as well.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello,
Thank you for your reply.
We are able to establish TCPS connection using Crystal Report 14.0.4.738 RTM(Client) Application however we are trying to establishing TCPS connection in our code in integration with CrystalReportsRuntime jar.
User | Count |
---|---|
83 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.