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:
Mostrar la cita
#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ó:

Mostrar la cita
#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:
Mostrar la cita
Ads by Google
Search Busqueda sugerida