When I used ojdbc5.jar
import oracle.jdbc.driver.OracleCallableStatement was not visible as it is not public in the ojdbc5.jar. Instead when I tried
import oracle.jdbc.OracleCallableStatement and
String pmsgs = (String)(cstmt.getArray(6));
I have 2 questions.
1. Instead of import oracle.jdbc.driver.OracleCallableStatement can i use import oracle.jdbc.OracleCallableStatement in my code.
2. Or if the above statement is wrong which class can be used instead of import oracle.jdbc.driver.OracleCallableStatement in ojdbc5.jar
As far as I am aware, oracle.jdbc.driver package is deprecated, hence you should not use it in your code.
I'm only going from memory and I haven't verified it, but I believe you can safely use method getArray of interface java.sql.CallableStatement instead of method getARRAY of interface oracle.jdbc.OracleCallableStatement.
To expand on this: Oracle has defined interfaces substituting the driver's classes in package oracle.jdbc. Interface oracle.jdbc.OracleCallableStatement still does have the method getARRAY. If you want to minimize changes to the code, you probably could use this interface instead of the implementation from the oracle.jdbc.driver package.
subject: oracle.jdbc.driver.OracleCallableStatement is not public in OJDBC5.jar