Insertar registros en una Tabla Asimilada de SQL

Obsydian, Cool:Plex, Advantage Plex, AllFusion Plex...

Moderadores: Jorge Ubeda, pacopicon

Insertar registros en una Tabla Asimilada de SQL

Notapor AclamSabuc » Mié Dic 12, 2007 1:04 am

Hola amigos:

He asimilado una tabla de una base de datos SQL Server. Esta tabla esta ordenada por una clave numerica, que se autogenera. Es decir tiene Especificación de identidad = Si. He creado las funciones con Plex pero cuando quiero adicionar un registro no me permite y me sale un error.
Cuando cambio la Especificacion de identidad = No. El programa funciona perfecto y adiciona los registros.

¿como puedo hacer para que funcione con la opcion anterior? Necesito que se autogenere el codigo y funcione como una entidad surrogate.

Muchas gracias,
Aclam Sabuc
AclamSabuc
 
Mensajes: 25
Registrado: Jue Oct 13, 2005 4:25 pm

En MSDN

Notapor Jorge Ubeda » Jue Dic 13, 2007 3:10 pm

Esto se parece mucho:

En un SqlServer 2005 Express en Castellano dispongo de una Tabla con un campo Integer que hace de Primary Key, definido con Especificación de Identidad para que me autoincremente el contenido en 1 de manera automática.

Si desde el SqlServer 2005 Express Management inserto filas con la cláusula "INSERT" no hace falta que indique dicho campo, y el Insert funciona correctamente y me autoincrementa el valor en 1.

Pero si dicha opción la realizo desde el Visual Studio 2005 Profesional en Castellano, en el Explorador de Servidores con un nuevo Query, o bien, desde programa con C# indicando una nueva órden Command y colocando toda la sintáxis "Insert into ...." el resultado siempre es el mismo "No se puede insertar un valor explícito en una columna de Identidad cuando IDENTITY_INSERT es OFF".


La discusión en MSDN, solucionado, en
http://forums.microsoft.com/MSDN-ES/Sho ... &SiteID=11
Jorge Ubeda
Site Admin
 
Mensajes: 229
Registrado: Mié Oct 26, 2005 6:00 pm
Ubicación: Valencia

Notapor AclamSabuc » Jue Dic 13, 2007 4:27 pm

Jorge:

Gracias por tu respuesta. ¿En la funcion insert tendría que omitir el campo de la clave?

Otra consulta relacionada.
Si desactivo este atributo en la tabla de la base de datos del SQL. ¿como puedo implementar esta logica en plex, sin usar una entidad SurrogateSystem?

Saludos,
Aclam Sabuc
AclamSabuc
 
Mensajes: 25
Registrado: Jue Oct 13, 2005 4:25 pm

el alcance de mi respuesta

Notapor Jorge Ubeda » Jue Dic 13, 2007 8:40 pm

Estimado AclamSabuc,
Te acerqué esa discusión porque toca tu problema, pero mi uso de SQL Server es nulo. Tampoco conozco qué funciones usas en Plex; asumo que usas las estándar, pero si no fuera así, debieramos conocer cómo las desarrollas. Mi idea es que quizá estudiando el contexto del caso, junto con el de tu problema, quizá te orientara.

Si has asimilado una tabla externa, se supone que la tabla tiene sus propias reglas, y que existen funciones que lo hacen (me refiero al insert). Una posibilidad es empaquetar en Plex las funciones que hoy lo hacen. No estoy seguro que si implementas una Surrogate, eso coincida con el esquema de inserciones de la tabla asimilada (entiendo por "asimilada" a una tabla a la que le respeto sus reglas de actualización y estructura).
Usualmente, trabajar con SQL Server ha tenido algunas rémoras, y existen ajustes que se pueden hacer al código, que pueden servir, (a nivel de ini, de odbc/jdbc) pero no estoy en condiciones de ayudarte más allá. Debieras probar postear tu problema en EDGE, que nunca debemos olvidar de todas formas.
Jorge Ubeda
Site Admin
 
Mensajes: 229
Registrado: Mié Oct 26, 2005 6:00 pm
Ubicación: Valencia

Notapor AclamSabuc » Jue Dic 13, 2007 9:02 pm

Ok. Jorge. Tampoco tengo mucha experiencia con el sql server. Mi experiencia es con el AS/400. Ahí no pasan estas cosas.

Voy a ver que me responden en Edge.

Saludos,
Aclam Sabuc
AclamSabuc
 
Mensajes: 25
Registrado: Jue Oct 13, 2005 4:25 pm


Volver a Plex

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados

cron