Página 1 de 1

Insertar registros en una Tabla Asimilada de SQL

NotaPublicado: Mié Dic 12, 2007 1:04 am
por AclamSabuc
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,

En MSDN

NotaPublicado: Jue Dic 13, 2007 3:10 pm
por Jorge Ubeda
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

NotaPublicado: Jue Dic 13, 2007 4:27 pm
por AclamSabuc
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,

el alcance de mi respuesta

NotaPublicado: Jue Dic 13, 2007 8:40 pm
por Jorge Ubeda
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.

NotaPublicado: Jue Dic 13, 2007 9:02 pm
por AclamSabuc
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,