import java.sql.*;
class DemoCallable {
public static void main(
String a[])
{
try{
Class.forName("oracle.jdbc.driver.OracleDriver");// Type 4 Driver
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@dbs:1521:orcl","scott","tiger");
/*Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // to load Type1 driver
Connection conn=DriverManager.getConnection("jdbc:odbc:mydsn","scott","tiger"); // for connection, mydsn is dsn ,
java is username, java is password*/
System.out.println("Connection : " + conn);
CallableStatement cstmt = conn.prepareCall(" {call sqr(?, ?)} ");
System.out.println("Callable Statement : " + cstmt);
cstmt.setInt(1,10);
cstmt.registerOutParameter(2,Types.INTEGER);
boolean b=cstmt.execute();
System.out.println(cstmt.getInt(2));
cstmt.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
};
Q )In above code,
If I am using Type 1 driver ,Then its properly working(Return me square of 10)
But when I am using Type4 driver , It will show me Null Pointer Exception.
Why?