cancel
Showing results for 
Search instead for 
Did you mean: 

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

former_member784338
Discoverer
0 Kudos

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)

jerryjanda
Community Manager
Community Manager
0 Kudos

Thank you for visiting SAP Community to get answers to your questions. Since you're asking a question here for the first time, I recommend that you familiarize yourself with https://community.sap.com/resources/questions-and-answers, as it provides tips for preparing questions that draw responses from our members.

For example, you can:

* Outline what steps you took to find answers (and why they weren't helpful).

* Share screenshots of what you've seen/done.

* Make sure you've applied only the appropriate tags.

* Use the "insert code" feature to make your question easier to read.

* Make the question clearer (as it ends abruptly with the code).

Feel free to take our Q&A tutorial at https://developers.sap.com/tutorials/community-qa.html as well, as that will also help you when preparing questions for the community.

Should you wish, you can revise your question by selecting Actions, then Edit.

I also recommend that you include a profile picture. By personalizing your profile, you encourage readers to respond: https://developers.sap.com/tutorials/community-profile.html.

Kind regards,

--Jerry

Moderation Lead

Former Member
0 Kudos

probably

(SECURITY=(SSL_SERVER_CERT_DN="CN=testcluster"))

you are missing the equals sign and the quotation marks

former_member784338
Discoverer
0 Kudos

Hello,

Thanks for your reply.

We tried this((SECURITY=(SSL_SERVER_CERT_DN="CN=testcluster"))) also but it is also giving same error.

Accepted Solutions (0)

Answers (2)

Answers (2)

JamesZ
Advisor
Advisor
0 Kudos

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.

former_member784338
Discoverer
0 Kudos

Hello,

Thank you for your reply.

We already successfully established TCPS connection using Crystal Report 14.0.4.738 RTM (Windows Desktop App) and even using sqlplus also but when we try to establishing TCPS connection using same string via CrystalReportRunTime jar it is giving error.

JamesZ
Advisor
Advisor
0 Kudos

Then it "probably" a Crystal application issue..... Also the c-stack/call stack shows non-oracle library, let us see whether any Crystal folks can help, otherwise you have to reach SAP Crystal team... -(

0 Kudos

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.

former_member784338
Discoverer

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.

0 Kudos

You are welcome. Then lets wait for the other community members. Maybe someone can add value here.