Invoking stored procedure from other schema to create tables

1k Views Asked by At

I am working on the web application project developed using java. In my working project, i have the requirement like i need to create the database dynamically after the user has been registered.I had done that approach.

But, now i want to call one stored procedure that is available in another schema(Master DB).The stored procedures contains tables. Now, i want to call that procedure in dynamically created DB.

I have written the code like following, can anybody help me to know what's wrong in this code,

Connection c1 = DriverManager.getConnection(URL, USER, PASSWORD);
java.sql.CallableStatement cstmt=null;
System.out.println("Invoking the stored procedure from subscription DB........");      
String callSP="{call masterdb.createCorporateDBProc()};";
cstmt= c1.prepareCall(callSP);
cstmt.execute();

java.sql.CallableStatement cstmt=null;
try {
    System.out.println("Invoking the stored procedure from subscription DB........");      
    String callSP="{call subscription.createCorporateDBProc()}";
    cstmt = c1.prepareCall(callSP);
    int r = cstmt.executeUpdate();
    System.out.println("SP created"+r);
    System.out.println("SP invoked and executed successfully in corporate DB....");
}  catch(com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException e){
    e.printStackTrace();
    cstmt.close();
    c1.close();
}
1

There are 1 best solutions below

0
On

See javadoc for Statement:

http://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#executeUpdate%28java.lang.String%29

Returns: either (1) the row count for SQL Data Manipulation Language (DML) statements or (2) 0 for SQL statements that return nothing

This means that execute for procedure will return 0. Check your database as well, if the call was successful.