How to fix "TNS:listener does not currently know of SID given in connect descriptor" with DBVisualizer on Linux?
TNS Ping does not care about service or SID, all it checks is the availability of the listener, so this does not mean your connection string is correct. Connecting through SQL*Plus successfully however confirms it.

Your tnsnames.ora uses SERVICE_NAME in CONNECT_DATA, but your JDBC URL uses the SID syntax. SID and service name are different concepts, and their value can be different. In your case, you can connect with CMSQA provided as service name, but not as SID.

In this syntax, CMSQA means SID:

jdbc:oracle:thin:@10.160.189.78:1521:CMSQA


To use it as a service name, your connection string should be:

jdbc:oracle:thin:@//10.160.189.78:1521/CMSQA