title: Logon Error:IO Error: Invalid connection string format, a valid format is: "host:port:sid" with SAP crystal reports JAVA API
body: <p>We have a Java based desktop Application, that does two parts jdbc logon, one is for creating a connection with Oracle DB, this let user to execute queries and stored procedures, and second jdbc logon happens if user tries to generate/print Crystal report. For this crystal java interface we are using crjava-runtime_12.2.223.zip libraries from SAP community. Now the strange thing is on  all of our developers machine, we don't face any error of invalid connection string format, but this error is coming only at one of the production user's account. He is able to logon to the application successfully i.e. first jdbc connection but when he is trying to establish the connection with crystal interface he is facing this error of <strong>Logon Error:IO Error: Invalid connection string format, a valid format is: "host:port:sid"</strong> </p>
  
  <p>We have tried resolving this by following jdbc URL formats(read lots of Java JDBC questions- How to connect to Oracle using jdbc formats) but he is getting the same error always while establishing connection with Crystal Interface. (SID and service name for the user is same as abcprod)</p>
  
  <ol>
  <li>jdbc:oracle:thin:@abc-db.abchosting.local:1521:abcprod</li>
  <li>jdbc:oracle:thin:@//abc-db.abchosting.local:1521/abcprod</li>
  <li>jdbc:oracle:thin:@abcprod(Using TNSFILE)</li>
  <li>jdbc:oracle:thin:@abc-db.abchosting.local:1521/abcprod</li>
  </ol>
  
  <p>User is on oracle version 12c, there are two other users on that same DB, they are not facing this error at all. Can anybody suggest what should we check, Is this application issue(code level) or Oracle grants/permission issue? I have asked DBA to compare the grants for all these three users but he is saying all grants are same for them. Any hints or suggestions? </p>
  
  <p>This issue is not related with Oracle's JDBC library, this is related with SAP Crystal Report's library for java, because if we are making connection with oracle's JDBC library it works fine, my first statement says: two parts JDBC logon, first with plain oracle's JDBC library which works fine, second part with crystal's library, same connection string/URL which was used in first part, when trying establishing connection it throws error but this error is specific to only one user rest of the other users in production don't face this error.</p>