Connection Provider Class.
package database; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class MSSQLDBConnection { private MSSQLDBConnection(){ } static Connection conn=null; static{ try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver") ; } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static Connection getConnection() throws SQLException, IOException { if(conn==null){ conn = DriverManager.getConnection("jdbc:sqlserver://localhost;databaseName=TestDB","sa","sql"); } return conn; } }Java Class for Calling STored procedure in MSSQL Database
package database.storedprocedure; import java.io.IOException; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.SQLException; import database.MSSQLDBConnection; public class CallStoredProcedure { /** * @param args */ public static void main(String[] args) { Connection conn=null; try { conn=MSSQLDBConnection.getConnection(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } CallableStatement callableStatement; try { callableStatement = conn.prepareCall("{ call spInsertEventContact(?,?,?,?,?,?) }"); callableStatement.setInt(1, 12); callableStatement.setInt(2, 13); callableStatement.setString(3, "ASKER"); callableStatement.setString(4, "ALI"); callableStatement.setInt(5, 1); callableStatement.registerOutParameter(6, java.sql.Types.INTEGER); callableStatement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); }finally{ try{ conn.close(); }catch (Exception ignore){} } System.out.println("Connection created"); } }For database Connections please refer: IBM Universal database
1 comment:
To get the Stored procedure returned value use the following code.
CallableStatement cstmt = con.prepareCall(
"{call getTestData(?, ?)}");
cstmt.registerOutParameter(1, java.sql.Types.TINYINT);
cstmt.registerOutParameter(2, java.sql.Types.DECIMAL, 3);
ResultSet rs = cstmt.executeQuery();
// . . . retrieve result set values with rs.getXXX methods
byte x = cstmt.getByte(1);
java.math.BigDecimal n = cstmt.getBigDecimal(2);
Post a Comment