Como solventar este error?

17/05/2004 - 21:53 por Harold Godefroy | Informe spam
Cuando hago un Update y este afecta varias filas (esta bien porque eso
quiero), me salta este mensaje de error:

Código de excepción OLE IDispatch 0 de Microsoft Cursor Engine: Información
de columna clave insuficiente o incorrecta; demasiadas filas afectadas por
la actualización..

Aunque es un warning y termina ejecutando la sentencia, como puedo evitar
esto?, que le hace falta a la declaracion de mi tabla? Este codigo esta
puesto en el trigger update de una tabla maestro, donde el update afecta al
detalle haciendo una actualizacion en los registros hijos.

Alguna sugerencia?
Saludos.
T.S.U. Harold Godefroy. Caracas - Venezuela
Coordinador Nacional PortalFox Venezuela
h a r o l d g o d e f r o y @ p o r t a l f o x . c o m

"Sí, soy un criminal, mi crimen es la curiosidad.
Mi crimen es juzgar a la gente por lo que dice y
piensa, no por lo que parece. Mi crimen es que
soy más listo que tu, algo que no me puedes perdonar."
The Mentor

Preguntas similare

Leer las respuestas

#1 Miguel Egea
17/05/2004 - 22:44 | Informe spam
Pasanos la estructura de la tabla y el update que haces, ¿Tiene clave
primaria verdad?

Saludos
Miguel Egea
"Harold Godefroy" escribió en el mensaje
news:#
Cuando hago un Update y este afecta varias filas (esta bien porque eso
quiero), me salta este mensaje de error:

Código de excepción OLE IDispatch 0 de Microsoft Cursor Engine:


Información
de columna clave insuficiente o incorrecta; demasiadas filas afectadas por
la actualización..

Aunque es un warning y termina ejecutando la sentencia, como puedo evitar
esto?, que le hace falta a la declaracion de mi tabla? Este codigo esta
puesto en el trigger update de una tabla maestro, donde el update afecta


al
detalle haciendo una actualizacion en los registros hijos.

Alguna sugerencia?
> Saludos.
T.S.U. Harold Godefroy. Caracas - Venezuela
Coordinador Nacional PortalFox Venezuela
h a r o l d g o d e f r o y @ p o r t a l f o x . c o m

"Sí, soy un criminal, mi crimen es la curiosidad.
Mi crimen es juzgar a la gente por lo que dice y
piensa, no por lo que parece. Mi crimen es que
soy más listo que tu, algo que no me puedes perdonar."
The Mentor


Respuesta Responder a este mensaje
#2 Gustavo Larriera [MVP SQL]
17/05/2004 - 23:37 | Informe spam
Hay aroma a que no has declarado una clave primaria para la tabla :-)

Gustavo Larriera, MVP-SQL, MCSE
Uruguay LatAm
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Harold Godefroy" wrote in message
news:%
Cuando hago un Update y este afecta varias filas (esta bien porque eso
quiero), me salta este mensaje de error:

Código de excepción OLE IDispatch 0 de Microsoft Cursor Engine:


Información
de columna clave insuficiente o incorrecta; demasiadas filas afectadas por
la actualización..

Aunque es un warning y termina ejecutando la sentencia, como puedo evitar
esto?, que le hace falta a la declaracion de mi tabla? Este codigo esta
puesto en el trigger update de una tabla maestro, donde el update afecta


al
detalle haciendo una actualizacion en los registros hijos.

Alguna sugerencia?
> Saludos.
T.S.U. Harold Godefroy. Caracas - Venezuela
Coordinador Nacional PortalFox Venezuela
h a r o l d g o d e f r o y @ p o r t a l f o x . c o m

"Sí, soy un criminal, mi crimen es la curiosidad.
Mi crimen es juzgar a la gente por lo que dice y
piensa, no por lo que parece. Mi crimen es que
soy más listo que tu, algo que no me puedes perdonar."
The Mentor


Respuesta Responder a este mensaje
#3 Harold Godefroy
18/05/2004 - 16:55 | Informe spam
Este es el codigo de el trigger en la tabla maestro:

CREATE TRIGGER [activos_deleted] ON dbo.activos1
INSTEAD OF DELETE
AS

DECLARE @compania AS VARCHAR(3)
DECLARE @codigo AS VARCHAR(6)
DECLARE @observaciones AS VARCHAR(100)
SET @compania = (SELECT TOP 1 compania from deleted)
SET @codigo = (SELECT TOP 1 codigo from deleted)
SET @observaciones = (SELECT TOP 1 aquienmod FROM deleted)+' '+(SELECT TOP 1
ahoramod FROM deleted)
UPDATE histact1 SET eliminado = 1,observaciones = @observaciones WHERE
compania = @compania and codigo = @codigo

Y esta es la estructura de la tabla detalle:

CREATE TABLE [dbo].[histact1] (
[surrkey] [bigint] IDENTITY (1, 1) NOT NULL ,
[compania] [char] (3) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[codigo] [char] (6) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[dpto] [char] (3) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[peri] [char] (4) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[mes] [char] (2) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[status] [char] (1) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[fec_adq] [smalldatetime] NULL ,
[year] [char] (7) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[tipo] [decimal](3, 0) NOT NULL ,
[vida_util] [decimal](9, 0) NOT NULL ,
[metodepre] [char] (1) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[costo] [decimal](15, 2) NOT NULL ,
[rescate] [decimal](16, 2) NOT NULL ,
[cst_adc] [decimal](14, 2) NOT NULL ,
[cst_dsn] [decimal](16, 6) NOT NULL ,
[depre_dsn] [decimal](16, 6) NOT NULL ,
[depre] [decimal](19, 6) NOT NULL ,
[depre_adc] [decimal](19, 6) NOT NULL ,
[acu_depre] [decimal](16, 6) NOT NULL ,
[acu_adc] [decimal](16, 6) NOT NULL ,
[vu_fal] [decimal](5, 0) NOT NULL ,
[adcvu_fal] [decimal](5, 0) NOT NULL ,
[micosto] [decimal](18, 2) NOT NULL ,
[midepre] [decimal](18, 2) NOT NULL ,
[usuario] [char] (15) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[cuanmod] [smalldatetime] NULL ,
[horamod] [char] (10) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[eliminado] [bit] NOT NULL ,
[observaciones] [varchar] (100) COLLATE Traditional_Spanish_CI_AS NULL
) ON [PRIMARY]
GO

Perdonad lo largo de este mensaje.

Saludos.
T.S.U. Harold Godefroy. Caracas - Venezuela
Coordinador Nacional PortalFox Venezuela
h a r o l d g o d e f r o y @ p o r t a l f o x . c o m

"Sí, soy un criminal, mi crimen es la curiosidad.
Mi crimen es juzgar a la gente por lo que dice y
piensa, no por lo que parece. Mi crimen es que
soy más listo que tu, algo que no me puedes perdonar."
The Mentor

"Miguel Egea" escribió en el mensaje
news:%230DoR%
Pasanos la estructura de la tabla y el update que haces, ¿Tiene clave
primaria verdad?

Saludos
Miguel Egea
"Harold Godefroy" escribió en el mensaje
news:#
> Cuando hago un Update y este afecta varias filas (esta bien porque eso
> quiero), me salta este mensaje de error:
>
> Código de excepción OLE IDispatch 0 de Microsoft Cursor Engine:
Información
> de columna clave insuficiente o incorrecta; demasiadas filas afectadas


por
> la actualización..
>
> Aunque es un warning y termina ejecutando la sentencia, como puedo


evitar
> esto?, que le hace falta a la declaracion de mi tabla? Este codigo esta
> puesto en el trigger update de una tabla maestro, donde el update afecta
al
> detalle haciendo una actualizacion en los registros hijos.
>
> Alguna sugerencia?
> > > Saludos.
> T.S.U. Harold Godefroy. Caracas - Venezuela
> Coordinador Nacional PortalFox Venezuela
> h a r o l d g o d e f r o y @ p o r t a l f o x . c o m
>
> "Sí, soy un criminal, mi crimen es la curiosidad.
> Mi crimen es juzgar a la gente por lo que dice y
> piensa, no por lo que parece. Mi crimen es que
> soy más listo que tu, algo que no me puedes perdonar."
> The Mentor
>
>


Respuesta Responder a este mensaje
#4 Miguel Egea
18/05/2004 - 22:49 | Informe spam
Prueba a añadir una clave primaria en este campo que seguramente es único.
[surrkey]


-

Miguel Egea Gómez
Webmaster de PortalSQL

(lo de online sobra)

Microsoft SqlServer M.V.P.



"Harold Godefroy" escribió en el mensaje
news:
Este es el codigo de el trigger en la tabla maestro:

CREATE TRIGGER [activos_deleted] ON dbo.activos1
INSTEAD OF DELETE
AS

DECLARE @compania AS VARCHAR(3)
DECLARE @codigo AS VARCHAR(6)
DECLARE @observaciones AS VARCHAR(100)
SET @compania = (SELECT TOP 1 compania from deleted)
SET @codigo = (SELECT TOP 1 codigo from deleted)
SET @observaciones = (SELECT TOP 1 aquienmod FROM deleted)+' '+(SELECT TOP


1
ahoramod FROM deleted)
UPDATE histact1 SET eliminado = 1,observaciones = @observaciones WHERE
compania = @compania and codigo = @codigo

Y esta es la estructura de la tabla detalle:

CREATE TABLE [dbo].[histact1] (
[surrkey] [bigint] IDENTITY (1, 1) NOT NULL ,
[compania] [char] (3) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[codigo] [char] (6) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[dpto] [char] (3) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[peri] [char] (4) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[mes] [char] (2) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[status] [char] (1) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[fec_adq] [smalldatetime] NULL ,
[year] [char] (7) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[tipo] [decimal](3, 0) NOT NULL ,
[vida_util] [decimal](9, 0) NOT NULL ,
[metodepre] [char] (1) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[costo] [decimal](15, 2) NOT NULL ,
[rescate] [decimal](16, 2) NOT NULL ,
[cst_adc] [decimal](14, 2) NOT NULL ,
[cst_dsn] [decimal](16, 6) NOT NULL ,
[depre_dsn] [decimal](16, 6) NOT NULL ,
[depre] [decimal](19, 6) NOT NULL ,
[depre_adc] [decimal](19, 6) NOT NULL ,
[acu_depre] [decimal](16, 6) NOT NULL ,
[acu_adc] [decimal](16, 6) NOT NULL ,
[vu_fal] [decimal](5, 0) NOT NULL ,
[adcvu_fal] [decimal](5, 0) NOT NULL ,
[micosto] [decimal](18, 2) NOT NULL ,
[midepre] [decimal](18, 2) NOT NULL ,
[usuario] [char] (15) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[cuanmod] [smalldatetime] NULL ,
[horamod] [char] (10) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
[eliminado] [bit] NOT NULL ,
[observaciones] [varchar] (100) COLLATE Traditional_Spanish_CI_AS NULL
) ON [PRIMARY]
GO

Perdonad lo largo de este mensaje.

> Saludos.
T.S.U. Harold Godefroy. Caracas - Venezuela
Coordinador Nacional PortalFox Venezuela
h a r o l d g o d e f r o y @ p o r t a l f o x . c o m

"Sí, soy un criminal, mi crimen es la curiosidad.
Mi crimen es juzgar a la gente por lo que dice y
piensa, no por lo que parece. Mi crimen es que
soy más listo que tu, algo que no me puedes perdonar."
The Mentor

"Miguel Egea" escribió en el mensaje
news:%230DoR%
> Pasanos la estructura de la tabla y el update que haces, ¿Tiene clave
> primaria verdad?
>
> Saludos
> Miguel Egea
> "Harold Godefroy" escribió en el mensaje
> news:#
> > Cuando hago un Update y este afecta varias filas (esta bien porque eso
> > quiero), me salta este mensaje de error:
> >
> > Código de excepción OLE IDispatch 0 de Microsoft Cursor Engine:
> Información
> > de columna clave insuficiente o incorrecta; demasiadas filas afectadas
por
> > la actualización..
> >
> > Aunque es un warning y termina ejecutando la sentencia, como puedo
evitar
> > esto?, que le hace falta a la declaracion de mi tabla? Este codigo


esta
> > puesto en el trigger update de una tabla maestro, donde el update


afecta
> al
> > detalle haciendo una actualizacion en los registros hijos.
> >
> > Alguna sugerencia?
> > > > > Saludos.
> > T.S.U. Harold Godefroy. Caracas - Venezuela
> > Coordinador Nacional PortalFox Venezuela
> > h a r o l d g o d e f r o y @ p o r t a l f o x . c o m
> >
> > "Sí, soy un criminal, mi crimen es la curiosidad.
> > Mi crimen es juzgar a la gente por lo que dice y
> > piensa, no por lo que parece. Mi crimen es que
> > soy más listo que tu, algo que no me puedes perdonar."
> > The Mentor
> >
> >
>
>


Respuesta Responder a este mensaje
#5 Harold Godefroy
19/05/2004 - 15:45 | Informe spam
Asi lo tengo creado:

CREATE UNIQUE
INDEX [surrkey] ON [dbo].[histact1] ([surrkey])
WITH
DROP_EXISTING
ON [PRIMARY]

Alguna sugerencia? Hay que cambiar algo en el proveedor oledb con el que me
conecto desde mi aplicacion?

Saludos.
T.S.U. Harold Godefroy. Caracas - Venezuela
Coordinador Nacional PortalFox Venezuela
h a r o l d g o d e f r o y @ p o r t a l f o x . c o m

"Sí, soy un criminal, mi crimen es la curiosidad.
Mi crimen es juzgar a la gente por lo que dice y
piensa, no por lo que parece. Mi crimen es que
soy más listo que tu, algo que no me puedes perdonar."
The Mentor

"Miguel Egea" escribió en el mensaje
news:%
Prueba a añadir una clave primaria en este campo que seguramente es único.
[surrkey]



Miguel Egea Gómez
Webmaster de PortalSQL

(lo de online sobra)

Microsoft SqlServer M.V.P.



"Harold Godefroy" escribió en el mensaje
news:
> Este es el codigo de el trigger en la tabla maestro:
>
> CREATE TRIGGER [activos_deleted] ON dbo.activos1
> INSTEAD OF DELETE
> AS
>
> DECLARE @compania AS VARCHAR(3)
> DECLARE @codigo AS VARCHAR(6)
> DECLARE @observaciones AS VARCHAR(100)
> SET @compania = (SELECT TOP 1 compania from deleted)
> SET @codigo = (SELECT TOP 1 codigo from deleted)
> SET @observaciones = (SELECT TOP 1 aquienmod FROM deleted)+' '+(SELECT


TOP
1
> ahoramod FROM deleted)
> UPDATE histact1 SET eliminado = 1,observaciones = @observaciones WHERE
> compania = @compania and codigo = @codigo
>
> Y esta es la estructura de la tabla detalle:
>
> CREATE TABLE [dbo].[histact1] (
> [surrkey] [bigint] IDENTITY (1, 1) NOT NULL ,
> [compania] [char] (3) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
> [codigo] [char] (6) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
> [dpto] [char] (3) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
> [peri] [char] (4) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
> [mes] [char] (2) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
> [status] [char] (1) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
> [fec_adq] [smalldatetime] NULL ,
> [year] [char] (7) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
> [tipo] [decimal](3, 0) NOT NULL ,
> [vida_util] [decimal](9, 0) NOT NULL ,
> [metodepre] [char] (1) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
> [costo] [decimal](15, 2) NOT NULL ,
> [rescate] [decimal](16, 2) NOT NULL ,
> [cst_adc] [decimal](14, 2) NOT NULL ,
> [cst_dsn] [decimal](16, 6) NOT NULL ,
> [depre_dsn] [decimal](16, 6) NOT NULL ,
> [depre] [decimal](19, 6) NOT NULL ,
> [depre_adc] [decimal](19, 6) NOT NULL ,
> [acu_depre] [decimal](16, 6) NOT NULL ,
> [acu_adc] [decimal](16, 6) NOT NULL ,
> [vu_fal] [decimal](5, 0) NOT NULL ,
> [adcvu_fal] [decimal](5, 0) NOT NULL ,
> [micosto] [decimal](18, 2) NOT NULL ,
> [midepre] [decimal](18, 2) NOT NULL ,
> [usuario] [char] (15) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
> [cuanmod] [smalldatetime] NULL ,
> [horamod] [char] (10) COLLATE Traditional_Spanish_CI_AS NOT NULL ,
> [eliminado] [bit] NOT NULL ,
> [observaciones] [varchar] (100) COLLATE Traditional_Spanish_CI_AS NULL
> ) ON [PRIMARY]
> GO
>
> Perdonad lo largo de este mensaje.
>
> > > Saludos.
> T.S.U. Harold Godefroy. Caracas - Venezuela
> Coordinador Nacional PortalFox Venezuela
> h a r o l d g o d e f r o y @ p o r t a l f o x . c o m
>
> "Sí, soy un criminal, mi crimen es la curiosidad.
> Mi crimen es juzgar a la gente por lo que dice y
> piensa, no por lo que parece. Mi crimen es que
> soy más listo que tu, algo que no me puedes perdonar."
> The Mentor
>
> "Miguel Egea" escribió en el mensaje
> news:%230DoR%
> > Pasanos la estructura de la tabla y el update que haces, ¿Tiene clave
> > primaria verdad?
> >
> > Saludos
> > Miguel Egea
> > "Harold Godefroy" escribió en el mensaje
> > news:#
> > > Cuando hago un Update y este afecta varias filas (esta bien porque


eso
> > > quiero), me salta este mensaje de error:
> > >
> > > Código de excepción OLE IDispatch 0 de Microsoft Cursor Engine:
> > Información
> > > de columna clave insuficiente o incorrecta; demasiadas filas


afectadas
> por
> > > la actualización..
> > >
> > > Aunque es un warning y termina ejecutando la sentencia, como puedo
> evitar
> > > esto?, que le hace falta a la declaracion de mi tabla? Este codigo
esta
> > > puesto en el trigger update de una tabla maestro, donde el update
afecta
> > al
> > > detalle haciendo una actualizacion en los registros hijos.
> > >
> > > Alguna sugerencia?
> > > > > > > Saludos.
> > > T.S.U. Harold Godefroy. Caracas - Venezuela
> > > Coordinador Nacional PortalFox Venezuela
> > > h a r o l d g o d e f r o y @ p o r t a l f o x . c o m
> > >
> > > "Sí, soy un criminal, mi crimen es la curiosidad.
> > > Mi crimen es juzgar a la gente por lo que dice y
> > > piensa, no por lo que parece. Mi crimen es que
> > > soy más listo que tu, algo que no me puedes perdonar."
> > > The Mentor
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida