Thursday, April 9, 2009

Call SQL Server 2005 procedure from Java

Call SQL Server 2005 procedure from Java:

SQL procedure:

CREATE PROCEDURE GetImmediateManager
@employeeID INT,
@managerID INT OUTPUT
AS
BEGIN SELECT @managerID = ManagerID FROM HumanResources.Employee WHERE EmployeeID = @employeeID
END

Java Code:

public static void executeStoredProcedure(Connection con) {
try {
CallableStatement cstmt = con.prepareCall("{call dbo.GetImmediateManager(?, ?)}");
cstmt.setInt(1, 5);
cstmt.registerOutParameter(2, java.sql.Types.INTEGER);
cstmt.execute();
System.out.println("MANAGER ID: " + cstmt.getInt(2));
} catch (Exception e) {
e.printStackTrace();
}
}

Source: http://msdn.microsoft.com/en-us/library/ms378108(SQL.90).aspx