Win a copy of Java 9 Modularity: Patterns and Practices for Developing Maintainable Applications this week in the Java 9 forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

MSSQL CallableStatement Issue  RSS feed

jeramia vontez
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello all so I have literly beat my head against a wall on this issue and been up all night.

rundown: I am using a callablestatement to access a mssql db stored procedure through jdbc, (if you would like the driver info i can post l8tr). My code is simple but I keep getting the following error and I have tried everything and searched everywhere it seems to fix this so I behold myself to you the wiser.

MSSQL Stored Procedure:

CREATE PROCEDURE www_Check_Disp_Contrato_Tipo_Fechas @cont int,
@thab int,
@f_ent datetime,
@f_sal datetime,
@respetar_release bit,
@lDisp bit output

/* Procedimiento que chequea si hay disponibilidad contra cupos para todos los dias del periodo de fechas pasado como parametro de un
contrato para un tipo de habit dado y respetando el release del contrato, solo devuelve 1 si hay disponibilidad para todos los dias

declare @dia_inic datetime, @release int, @disp int,@cupos int,
@dia_sal datetime,@fecha_hotelera datetime,@ocup int,
@reserv int,@hab_salen int, @ncupos int, @room int

Select @dia_sal = @f_sal
Select @dia_inic = @f_ent
Select @lDisp = 1

Select @fecha_hotelera = fecha_hotelera From Hotetabl
While DATEDIFF(day,@dia_inic,@dia_sal) >= 0 and @lDisp = 1
Execute Calc_Hab_Sal_Dia_Cont_Tipo @cont, @thab, @dia_inic, @hab_salen output
Execute Calc_Cupos_Cont_Dia_Tipo @cont, @dia_inic, @thab, @cupos output
Execute Calc_Hab_Ocup_Cont_Dia_Tipo @cont, @dia_inic, @thab, @ocup output
Execute Calc_Hab_Res_Cont_Dia_Tipo @cont, @dia_inic, @thab, @reserv output
Execute Calc_Hab_Room_Cont_Dia_Tipo @cont, @dia_inic, @thab, @room output
Execute Calc_Release_Contrato @cont, @dia_inic, @release output

if @respetar_release = 1
if DATEDIFF(day,@fecha_hotelera,@dia_inic) < @release
Select @ncupos = 0
Select @ncupos = @cupos
Select @ncupos = @cupos

Select @disp = @ncupos - @ocup - @reserv - @room + @hab_salen

if @disp <= 0
Select @lDisp = 0

Select @dia_inic = DATEADD(day,1, @dia_inic)


The Code I'm using:

CallableStatement cs = conn.prepareCall("{call www_Check_Disp_Contrato_Tipo_Fechas(?,?,?,?,?,?)}");

int cont = 632;
int thab = 112;
java.sql.Date entrada = new java.sql.Date(2006,01,15);
java.sql.Date salida = new java.sql.Date(2006,01,18);

cs.setInt(1, cont);
cs.setInt(2, thab);
cs.setDate(3, entrada);
cs.setDate(4, salida);
cs.setBoolean(5, true);
cs.registerOutParameter(6, Types.NUMERIC);


int outParam2 = cs.getInt(6);

I receive the following error msg:
[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Formal parameter '@respetar_release' was defined as OUTPUT but the actual parameter not declared OUTPUT


To me it makes no sense becuase I am not defining the 5th input "respetar_release" as the OUTPUT???
Any suggestions or links will be greatly appreciated as this seemingly small issue could derail my whole project!!

Thanks in advance, peace and respect to all of you!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!