Urgente PB10 + SQL2005
Publicado por alvaro (6 intervenciones) el 05/10/2009 05:27:23
Hola espero me puedan ayudar, utilizo power builder 10 con sql server 2005, mi problema es que intento ejecutar un procedure desde power builder y me falla la declaracion del sp:
DECLARE p_carga_productos PROCEDURE FOR sp_carga_productos
:ll_inserted_rows output;
El problema es cuando coloco el tipo "output", me muestra el mensaje: "valor de caracter no valido para especificacion cast", pero si lo coloco sin él, de esta forma:
DECLARE p_carga_productor PROCEDURE FOR sp_carga_productos
:ll_inserted_rows;
funciona de maravilla, ejecuta todo el sp, pero yo necesito recuperar la variable ll_inserted_rows.
El codigo completo es:
DECLARE p_carga_productos PROCEDURE FOR p_carga_productos
:ll_inserted_rows output;
EXECUTE p_carga_productos;
if sqlca.sqlcode = -1 then
ls_error_db = sqlca.sqlerrtext
rollback;
Else
commit;
end if
FETCH p_carga_productos INTO :ll_inserted_rows;
CLOSE p_carga_productos;
He probado declarar el parametro asi:
@p_inserted_rows = :ll_inserted_rows output;
pero tampoco. Podrían ayudarme como declarar un parametro como 'OUTPUT' les agradezco mucho.
Asi es el SP:
ALTER procedure sp_carga_productos (
@p_inserted_rows int output
)
as
begin
...
...
...
return 1
end
DECLARE p_carga_productos PROCEDURE FOR sp_carga_productos
:ll_inserted_rows output;
El problema es cuando coloco el tipo "output", me muestra el mensaje: "valor de caracter no valido para especificacion cast", pero si lo coloco sin él, de esta forma:
DECLARE p_carga_productor PROCEDURE FOR sp_carga_productos
:ll_inserted_rows;
funciona de maravilla, ejecuta todo el sp, pero yo necesito recuperar la variable ll_inserted_rows.
El codigo completo es:
DECLARE p_carga_productos PROCEDURE FOR p_carga_productos
:ll_inserted_rows output;
EXECUTE p_carga_productos;
if sqlca.sqlcode = -1 then
ls_error_db = sqlca.sqlerrtext
rollback;
Else
commit;
end if
FETCH p_carga_productos INTO :ll_inserted_rows;
CLOSE p_carga_productos;
He probado declarar el parametro asi:
@p_inserted_rows = :ll_inserted_rows output;
pero tampoco. Podrían ayudarme como declarar un parametro como 'OUTPUT' les agradezco mucho.
Asi es el SP:
ALTER procedure sp_carga_productos (
@p_inserted_rows int output
)
as
begin
...
...
...
return 1
end
Valora esta pregunta


0