SQL server CE

14/11/2005 - 16:36 por VGARCIA | Informe spam
Hola a todos.

Este es mi problema: Cuando inserto en mi base de datos de sql server CE se
produce el siguiente error:

Source: Microsoft SQL Server 2000 Windows CE Edition

Native Error: 25016

HR: DB_E_INTEGRITYVIOLATION

Description: Value violated the integrity constraints for a column or table.

Interface defining error: IID_IRowsetChange

Param = 0

Param = 0

Param = 0

Param =

Param =

Param =

LLevo dos dias buscando en internet una solucion y nadie tiene ni siquiera
la certeza de porque esto es asi. Solo intuyen lo mismo que yo, que el
problema esta con las claves unicas autoincrementales de las tablas. Si
alguien tiene una solucion le pediria por favor que me respondiese a esta
pregunta.
Un saludo

Preguntas similare

Leer las respuestas

#1 Miguel Egea
14/11/2005 - 16:57 | Informe spam
En el script de la tabla tienes que tener la solución. Postealo aquí junto
con el insert que estás intentando hacer, así podemos ver si es por algo que
está en el propio script o por alguna tabla y su integridad referencial.


Miguel Egea
Visita mi web http://www.portalsql.com
SQL Server MVP, Mentor
Solid Quality Learning
http://www.SolidQualityLearning.com
"Solid Quality Learning is the trusted global provider of advanced education
and solutions for the entire Microsoft database platform"

"VGARCIA" wrote in message
news:
Hola a todos.

Este es mi problema: Cuando inserto en mi base de datos de sql server CE
se
produce el siguiente error:

Source: Microsoft SQL Server 2000 Windows CE Edition

Native Error: 25016

HR: DB_E_INTEGRITYVIOLATION

Description: Value violated the integrity constraints for a column or
table.

Interface defining error: IID_IRowsetChange

Param = 0

Param = 0

Param = 0

Param >
Param >
Param >
LLevo dos dias buscando en internet una solucion y nadie tiene ni siquiera
la certeza de porque esto es asi. Solo intuyen lo mismo que yo, que el
problema esta con las claves unicas autoincrementales de las tablas. Si
alguien tiene una solucion le pediria por favor que me respondiese a esta
pregunta.
Un saludo
Respuesta Responder a este mensaje
#2 VGARCIA
15/11/2005 - 10:25 | Informe spam
Buenas Miguel. He descubierto algo mas sobre el asunto:

El problema esta en el campo autonumerico y parece ser que en algunas
ocasiones sql server ce se hace un lio con (NO se si se llama asi) el seed
que me supongo que es la posicion en la que tiene que empezar a
autoincrementar cuando se inserta.

Tengo una solucion para esto, pero tambien me da algunos problemas.

SELECT MAX(Id)as MaxID FROM Tabla
ALTER TABLE Tabla ALTER COLUMN Id IDENTITY(MaxID+1,1)

y posteriormente inserto en la tabla y todo esto funciona perfectamente en
el analizador de consultas de Sql server ce.

Creo que el resto de los problemas estan en hacer esto en una misma
transaccion pero no lo tengo claro.

Gracias por tu preocupacion y siento no poder darte el script al menos por
ahora
Un saludo


"Miguel Egea" escribió:

En el script de la tabla tienes que tener la solución. Postealo aquí junto
con el insert que estás intentando hacer, así podemos ver si es por algo que
está en el propio script o por alguna tabla y su integridad referencial.


Miguel Egea
Visita mi web http://www.portalsql.com
SQL Server MVP, Mentor
Solid Quality Learning
http://www.SolidQualityLearning.com
"Solid Quality Learning is the trusted global provider of advanced education
and solutions for the entire Microsoft database platform"

"VGARCIA" wrote in message
news:
> Hola a todos.
>
> Este es mi problema: Cuando inserto en mi base de datos de sql server CE
> se
> produce el siguiente error:
>
> Source: Microsoft SQL Server 2000 Windows CE Edition
>
> Native Error: 25016
>
> HR: DB_E_INTEGRITYVIOLATION
>
> Description: Value violated the integrity constraints for a column or
> table.
>
> Interface defining error: IID_IRowsetChange
>
> Param = 0
>
> Param = 0
>
> Param = 0
>
> Param > >
> Param > >
> Param > >
> LLevo dos dias buscando en internet una solucion y nadie tiene ni siquiera
> la certeza de porque esto es asi. Solo intuyen lo mismo que yo, que el
> problema esta con las claves unicas autoincrementales de las tablas. Si
> alguien tiene una solucion le pediria por favor que me respondiese a esta
> pregunta.
> Un saludo



Respuesta Responder a este mensaje
#3 Miguel Egea
15/11/2005 - 18:48 | Informe spam
Gracias Victor

Como bien dices parece un problema con la semilla de los identiies, igugal
es un bug, podrías reportarlo a ms como un incidente de soporte. De todas
formas yo lo que haría más que poner un select max (que no me gustan nada)
es crear una tabla de contadores y actualizarla para obtener el nuevo valor,
de esta manera garantizas su unicidad y responde a transaccionalidad. Ya me
cuentas


Miguel Egea
Visita mi web http://www.portalsql.com
SQL Server MVP, Mentor
Solid Quality Learning
http://www.SolidQualityLearning.com
"Solid Quality Learning is the trusted global provider of advanced education
and solutions for the entire Microsoft database platform"


"VGARCIA" wrote in message
news:
Buenas Miguel. He descubierto algo mas sobre el asunto:

El problema esta en el campo autonumerico y parece ser que en algunas
ocasiones sql server ce se hace un lio con (NO se si se llama asi) el seed
que me supongo que es la posicion en la que tiene que empezar a
autoincrementar cuando se inserta.

Tengo una solucion para esto, pero tambien me da algunos problemas.

SELECT MAX(Id)as MaxID FROM Tabla
ALTER TABLE Tabla ALTER COLUMN Id IDENTITY(MaxID+1,1)

y posteriormente inserto en la tabla y todo esto funciona perfectamente en
el analizador de consultas de Sql server ce.

Creo que el resto de los problemas estan en hacer esto en una misma
transaccion pero no lo tengo claro.

Gracias por tu preocupacion y siento no poder darte el script al menos por
ahora
Un saludo


"Miguel Egea" escribió:

En el script de la tabla tienes que tener la solución. Postealo aquí
junto
con el insert que estás intentando hacer, así podemos ver si es por algo
que
está en el propio script o por alguna tabla y su integridad referencial.


Miguel Egea
Visita mi web http://www.portalsql.com
SQL Server MVP, Mentor
Solid Quality Learning
http://www.SolidQualityLearning.com
"Solid Quality Learning is the trusted global provider of advanced
education
and solutions for the entire Microsoft database platform"

"VGARCIA" wrote in message
news:
> Hola a todos.
>
> Este es mi problema: Cuando inserto en mi base de datos de sql server
> CE
> se
> produce el siguiente error:
>
> Source: Microsoft SQL Server 2000 Windows CE Edition
>
> Native Error: 25016
>
> HR: DB_E_INTEGRITYVIOLATION
>
> Description: Value violated the integrity constraints for a column or
> table.
>
> Interface defining error: IID_IRowsetChange
>
> Param = 0
>
> Param = 0
>
> Param = 0
>
> Param >> >
> Param >> >
> Param >> >
> LLevo dos dias buscando en internet una solucion y nadie tiene ni
> siquiera
> la certeza de porque esto es asi. Solo intuyen lo mismo que yo, que el
> problema esta con las claves unicas autoincrementales de las tablas. Si
> alguien tiene una solucion le pediria por favor que me respondiese a
> esta
> pregunta.
> Un saludo



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida