Pregunta

13/05/2004 - 13:56 por Heidi | Informe spam
Hola a todos,
Tengo un trigger que envía un mensaje de error y detiene la transaccion si
se cumple una condición, la cuestion es que cuando envío el mensaje (la
aplicación esta en VisualFox), me sale otra cosa, si valida bien las
condiciones, pero me sale lo siguiente

No es posible pasar datos hacia tabla de inventario.
Posible causa :
Mensaje : Error de conectividad: [Microsoft][ODBC SQL Server Driver][SQL
Server]1
Mientras que si estoy en acces si sale bien el error despues del 1 es
decir,
No es posible pasar datos hacia tabla de inventario.
Posible causa :
Mensaje : Error de conectividad: [Microsoft][ODBC SQL Server Driver][SQL
Server]1La orden 17841 ya se encuentra cumplida, comuniquese con costos
(#50000)
el trigger es el siguiente: (la primera parte, donde valida si es 0 si saca
el mensaje bien en ambos programas).
Mil gracias por su valiosa ayuda
CREATE TRIGGER MvtoInvValida
ON MVTOINV
FOR INSERT, UPDATE
AS
DECLARE @TipoMvto CHAR(5), @OrdenNro INT, @Cumplida INT
SELECT @TipoMvto = TIPOMVTO, @OrdenNro = ORDENNRO
FROM inserted WHERE TIPOMVTO = 'S13' OR TIPOMVTO = 'S19'
IF (@OrdenNro = 0)
BEGIN
RAISERROR ('Este tipo de movimiento no puede tener Orden 0!!',
16, 1)
ROLLBACK TRANSACTION
END
ELSE
BEGIN
SELECT @OrdenNro = CONVERT(INT, i.ORDENNRO) FROM inserted i
WHERE i.TIPOMVTO = 'S13' OR i.TIPOMVTO = 'S19'
SELECT @Cumplida = o.Cumplida
FROM [SERVIDOR\SERVIDOR2000].SIP.DBO.COS_ORDENES o
WHERE o.[Número Orden] = @OrdenNro
PRINT @Cumplida
IF (@Cumplida = 1)
BEGIN
RAISERROR ('La orden %u ya se encuentra cumplida, comuniquese con
costos!!',
16, 1, @OrdenNro)
ROLLBACK TRANSACTION
END
END
 

Leer las respuestas

#1 Maxi
13/05/2004 - 14:09 | Informe spam
Estimada Heidi, tu problema es como Fox usa el ODBC ;-) te recomendaria ir
al news de Vfox para ver que te dicen ellos, pero no es problema de Sql
Server sino en Access pasaria lo mismo :p

Suerte


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Heidi" escribió en el mensaje
news:
Hola a todos,
Tengo un trigger que envía un mensaje de error y detiene la transaccion si
se cumple una condición, la cuestion es que cuando envío el mensaje (la
aplicación esta en VisualFox), me sale otra cosa, si valida bien las
condiciones, pero me sale lo siguiente

No es posible pasar datos hacia tabla de inventario.
Posible causa :
Mensaje : Error de conectividad: [Microsoft][ODBC SQL Server Driver][SQL
Server]1
Mientras que si estoy en acces si sale bien el error despues del 1 es
decir,
No es posible pasar datos hacia tabla de inventario.
Posible causa :
Mensaje : Error de conectividad: [Microsoft][ODBC SQL Server Driver][SQL
Server]1La orden 17841 ya se encuentra cumplida, comuniquese con costos
(#50000)
el trigger es el siguiente: (la primera parte, donde valida si es 0 si


saca
el mensaje bien en ambos programas).
Mil gracias por su valiosa ayuda
CREATE TRIGGER MvtoInvValida
ON MVTOINV
FOR INSERT, UPDATE
AS
DECLARE @TipoMvto CHAR(5), @OrdenNro INT, @Cumplida INT
SELECT @TipoMvto = TIPOMVTO, @OrdenNro = ORDENNRO
FROM inserted WHERE TIPOMVTO = 'S13' OR TIPOMVTO = 'S19'
IF (@OrdenNro = 0)
BEGIN
RAISERROR ('Este tipo de movimiento no puede tener Orden 0!!',
16, 1)
ROLLBACK TRANSACTION
END
ELSE
BEGIN
SELECT @OrdenNro = CONVERT(INT, i.ORDENNRO) FROM inserted i
WHERE i.TIPOMVTO = 'S13' OR i.TIPOMVTO = 'S19'
SELECT @Cumplida = o.Cumplida
FROM [SERVIDOR\SERVIDOR2000].SIP.DBO.COS_ORDENES o
WHERE o.[Número Orden] = @OrdenNro
PRINT @Cumplida
IF (@Cumplida = 1)
BEGIN
RAISERROR ('La orden %u ya se encuentra cumplida, comuniquese con
costos!!',
16, 1, @OrdenNro)
ROLLBACK TRANSACTION
END
END










Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.676 / Virus Database: 438 - Release Date: 03/05/2004

Preguntas similares