Ayuda en Power Builder y SQL SERVER URGENTE

Espero algún asugerencia o ayuda en el siguiente caso:
Tengo un store procedure:
create procedure insert_entregaparcial @f_registro datetime , @usuario varchar(20), @new_id numeric(11) output
as
insert into scaentregaparcial(intalmcodigo,datepfecha,numepestado,vchrepusuacreacion,datepfechacreacion)
values(1,@f_registro,1,@usuario,@f_registro);
select @new_id = (max(intepcodigo)) from scaentregaparcial
GO
que lo llamo desde un script de power al hacer click en un botón:
longlong id_entrega=0
datetime fecha
fecha=datetime(today(),now())
declare myproc procedure for insert_entregaparcial(:fecha,:usuario,:id_entrega);
execute myproc ;
al hacer un debug se sale el siguient error en:
string sqlerrtext: Space must be allocated for bind parameter ...
He probado el mismo procedimiento modificándolo para que no rebiba el tercer parámetro y si funciona hace el insert.
Necesito, esa variable de retorno porque con esa hago otro insert en otra tabla.

1 Respuesta

Respuesta
Creo que en este caso de procedimientos almacenados no puedo serte de mucha ayuda, por lo que me presentas no veo ningún problema o cosa similar, sin embargo mi recomendación es no utilizar procedimientos almacenados, por que provocan muchos problemas, y al final duele mucho la cabeza,
todo lo que puedas imaginar hacer en un procedimiento almacenado lo puedes hacer programaticamente en power builder,
Por ejemplo, grabar datos escalonados en 3 tablas, y que si sucede un error, pueda revertir la operación por medio de un rollback, es una de muchas ventajas de escribir esto en power builder,
Créeme que por experiencia, te puedo afirmar que es más fácil y simple escribirlo en programa que en procedimientos almacenados,
Podrías intentar hacer lo mismo que haces en tu procedimiento, en un evento de usuario o simplemente un procedimiento o función, la cual sea llamada al momento de actualizar lo que necesitas,
Estoy seguro que te darás cuenta que se mucho más fácil, rapido, y seguro de utilizar.
Sin embargo si aun persisten los síntomas, enviame igualmente el script de tu procedimiento almacenado.
Algunas veces los problemas no corresponden a la forma en como escribes el procedimiento, sino en la forma en que lo interpreta tu base de datos.
Espero esto pueda serte de utilidad para resolver tu problema
saludos
agdsys
Estoy trabajando con Power Builder 9 y SQL SERVER 2000, tengo el siguiente problema tengo varios datawindows que están enlazados a store procedures; hago insert o update con su respectivo commit o rollback según el caso; el problema se presenta luego de hacer varios inserts o updates a la DB, ya no puedo hacer inserts o update y sle un mensaje com este: "Attempt to convert data stopped by syntax error in source field.
No changes made to database.
execute dbo.insert_ordencompra;1"
Y me dice que la fecha que le ingreso al dw no es correcta ...
Bien raro porque me deja hacer varios inserts... pero llega un determindo momento que ya no..
Bueno amigo experto agradezco de antemanon tu ayuda
Puede que no tenga nada que ver y aunque suene raro decirlo pues lo que me cuentas no tiene sentido, es que deberás contemplar en que columnas estas ingresando los valores del tipo fecha,
Recuerda que existen varias variantes de dato tipo fecha, hay fecha pequeña, solo fecha, fecha y hora, etc.
Esto significa que posiblemente estas tratando de integrar un valor en un tipo de dato no compatible, o bien que parte del dato no corresponde, recuerda que las bases de datos utilizan un formato standard para asignar valores a una fecha, el cual es año-mes-día
por ejemplo MYSQL, funciona de esa forma, si no lo integras así, seguramente encontraras sorpresas en sus campos.
Por ultimo, mi recomendación es que trates la forma de evitar los store procedures, los cuales al final del camino solo te provocan problemas, mejor utiliza scripts por medio de una función o de un evento.
Y para hacer procesos con referencia transaccional, esto queda mejor.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas