Problema con claves

15/05/2006 - 13:41 por mooonk | Informe spam
Hola , estoy intentando hacer una replicación transaccional con
actualizacion inmediata y me encuentro con un problema que no encuentro
manera de solucionar, y no le veo la logica

Tengo una tabla con un campo clave e identidad,marcado como "no para
duplicacion" . Cuando hago una duplicacion de un registro que ha sido
modificado ,me sale el error

"No se puede actualizar la columna de identidad 'idSucursal'.

Supongo que lo logico seria que si tiene que hacer una actualizacion de
ese registro ,no tocase el identificador (mas aun si le tengo marcado
como no para duplicacion) , pero no consigo que no me salga dicho
error. ¿Es esto normal?

La unica solución que he leido en los mensajes es que quite las
restricciones y claves..pero dudo que sea la solución normal ,me
parece mas otro problema que una solución, ¿es la unica manera?

Gracias

Preguntas similare

Leer las respuestas

#1 Miguel Egea
15/05/2006 - 17:02 | Informe spam
¿aplicaste instantáneas?, lo que me parece es que la tabla en destino tiene
el identity creado. si es así, dependerá si la replicación ha creado o no
procedimientos almacenados y los está usando, si los está usando podrás
modificar el procedimiento para que establezca el mismo valor, aunque lo
mejor es quitar el identity del destino.


Miguel Egea Gómez

SQLServer MVP

Director de Servicios Corporativos

Solid Quality Learning Iberoamericana



"Solid Quality Learning es el proveedor global en el que puede confiar para
obtener soluciones y educación avanzada para la plataforma completa de
sistemas de bases de datos de Microsoft."

www.SolidQualityLearning.com

"mooonk" escribió en el mensaje
news:
Hola , estoy intentando hacer una replicación transaccional con
actualizacion inmediata y me encuentro con un problema que no encuentro
manera de solucionar, y no le veo la logica

Tengo una tabla con un campo clave e identidad,marcado como "no para
duplicacion" . Cuando hago una duplicacion de un registro que ha sido
modificado ,me sale el error

"No se puede actualizar la columna de identidad 'idSucursal'.

Supongo que lo logico seria que si tiene que hacer una actualizacion de
ese registro ,no tocase el identificador (mas aun si le tengo marcado
como no para duplicacion) , pero no consigo que no me salga dicho
error. ¿Es esto normal?

La unica solución que he leido en los mensajes es que quite las
restricciones y claves..pero dudo que sea la solución normal ,me
parece mas otro problema que una solución, ¿es la unica manera?

Gracias
Respuesta Responder a este mensaje
#2 mooonk
15/05/2006 - 17:23 | Informe spam
La tabla de destino si tenia el identity creado,es igual que la origen
(pero ninguna tiene datos en el momento de la creacion de la
publicación)

He seguido probando y ahora parece que funciona,he creado la
publicacion,sincronizado,marcado validar suscripciones,actualizado..y
parece que lo ha hecho . Lo unico que he hecho distinto a las otras
veces,es cerrar el administrador despues de cada paso y volver a
abrirle :S

En el caso de que ya este funcionando bien, se me plantea otra duda .
Necesito utilizar filtros dinamicos para saber que datos mando a que
sucursal , pero segun leo por todas partes , unicamente estan
disponibles en la replicación de mezcla . ¿ No es posible hacerlo en
la transaccional ?

Si definitivamente tengo que usar la replicacion de mezcla (no quisiera
si puedo hacerlo con la transaccional, ya que supongo que sea menos
costosa en cuanto a trafico / recursos,etc) , ¿como puedo hacer que no
se actualicen los datos del publicador con los de los subscriptores?

Siento preguntar tanto, pero la verdad es que me urge mucho terminar
este proyecto y apenas tengo tiempo para aprender a utilizar la
replicación (por no decir que no lo tengo)

Gracias
Respuesta Responder a este mensaje
#3 Eduardo Castro
15/05/2006 - 17:25 | Informe spam
El problema se presenta porque tiene un campo tipo identity, tienes que
removerlo para que no te problemas

Eduardo Castro
Microsoft MVP
MCSE 2003+Security, MCDBA, MCSD .NET, CCNA

"mooonk" wrote in message
news:
Hola , estoy intentando hacer una replicación transaccional con
actualizacion inmediata y me encuentro con un problema que no encuentro
manera de solucionar, y no le veo la logica

Tengo una tabla con un campo clave e identidad,marcado como "no para
duplicacion" . Cuando hago una duplicacion de un registro que ha sido
modificado ,me sale el error

"No se puede actualizar la columna de identidad 'idSucursal'.

Supongo que lo logico seria que si tiene que hacer una actualizacion de
ese registro ,no tocase el identificador (mas aun si le tengo marcado
como no para duplicacion) , pero no consigo que no me salga dicho
error. ¿Es esto normal?

La unica solución que he leido en los mensajes es que quite las
restricciones y claves..pero dudo que sea la solución normal ,me
parece mas otro problema que una solución, ¿es la unica manera?

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