Acerca de campos "identity" en SQL Server

02/07/2004 - 22:39 por Aldo S. | Informe spam
El escenario es el siguiente:

- Yo necesito leer toda una tabla en SQL Server la cual contiene campos
"identity" (Auto incrementables) el cual es la llave primaria.
- La tabla es cargada en un DataTable dentro del DataSet, y de aqui se
agregan registros.
- Al actualizar la base de datos, puede haber conflictos con otros usuarios
con el campo "identity".

Hay una manera recomendable de trabajar con ese tipo de campos debido a la
nueva implementacion de ADO.NET en la cual toda la tabla (o el result set de
un query) es totalmente cargado a memoria?

Anteriormente este problema no existia porque al insertar un nuevo registro,
SQL Server automaticamente le daba un unico valor a un registro a la vez.

Que tal si el valor de ese campo identity se usa en otra tabla, tal como en
una relacion maestra -> detalles ?

Gracias de antemano,
Aldo

Preguntas similare

Leer las respuestas

#1 Jose Luis Manners
02/07/2004 - 22:52 | Informe spam
¿Y que tal las columnas tipo GUID? Mira esto tomado de MSDN: "Another
option is to use columns of type Guid instead of auto-incrementing columns.
The algorithm that generates Guid values should never generate the same Guid
in the DataSet as is generated by the data source"

También puedes poner en el Dataset AutoIncrementStep = -1 para que sean
distintos.

Saludos,

Jose Luis Manners, MCP

"Encuentra felicidad en tu trabajo o nunca serás feliz."
-Kung-Fu-Tsu (Confucio)

"Aldo S." wrote in message
news:
El escenario es el siguiente:

- Yo necesito leer toda una tabla en SQL Server la cual contiene campos
"identity" (Auto incrementables) el cual es la llave primaria.
- La tabla es cargada en un DataTable dentro del DataSet, y de aqui se
agregan registros.
- Al actualizar la base de datos, puede haber conflictos con otros


usuarios
con el campo "identity".

Hay una manera recomendable de trabajar con ese tipo de campos debido a la
nueva implementacion de ADO.NET en la cual toda la tabla (o el result set


de
un query) es totalmente cargado a memoria?

Anteriormente este problema no existia porque al insertar un nuevo


registro,
SQL Server automaticamente le daba un unico valor a un registro a la vez.

Que tal si el valor de ese campo identity se usa en otra tabla, tal como


en
una relacion maestra -> detalles ?

Gracias de antemano,
Aldo


Respuesta Responder a este mensaje
#2 Jose Luis Manners
02/07/2004 - 23:00 | Informe spam
Mira este artículo:

http://support.microsoft.com/defaul...uct=vcSnet

Saludos,

Jose Luis Manners, MCP

"Encuentra felicidad en tu trabajo o nunca serás feliz."
-Kung-Fu-Tsu (Confucio)

"Jose Luis Manners" <jlmanners(-arroba-)acm.org> wrote in message
news:%
¿Y que tal las columnas tipo GUID? Mira esto tomado de MSDN: "Another
option is to use columns of type Guid instead of auto-incrementing


columns.
The algorithm that generates Guid values should never generate the same


Guid
in the DataSet as is generated by the data source"

También puedes poner en el Dataset AutoIncrementStep = -1 para que sean
distintos.

Saludos,

Jose Luis Manners, MCP

"Encuentra felicidad en tu trabajo o nunca serás feliz."
-Kung-Fu-Tsu (Confucio)

"Aldo S." wrote in message
news:
> El escenario es el siguiente:
>
> - Yo necesito leer toda una tabla en SQL Server la cual contiene campos
> "identity" (Auto incrementables) el cual es la llave primaria.
> - La tabla es cargada en un DataTable dentro del DataSet, y de aqui se
> agregan registros.
> - Al actualizar la base de datos, puede haber conflictos con otros
usuarios
> con el campo "identity".
>
> Hay una manera recomendable de trabajar con ese tipo de campos debido a


la
> nueva implementacion de ADO.NET en la cual toda la tabla (o el result


set
de
> un query) es totalmente cargado a memoria?
>
> Anteriormente este problema no existia porque al insertar un nuevo
registro,
> SQL Server automaticamente le daba un unico valor a un registro a la


vez.
>
> Que tal si el valor de ese campo identity se usa en otra tabla, tal como
en
> una relacion maestra -> detalles ?
>
> Gracias de antemano,
> Aldo
>
>


Respuesta Responder a este mensaje
#3 Daniel Sharp
04/07/2004 - 04:36 | Informe spam
el tipo de dato GUID es genial porque nunca se repetirán, a decir verdad
ello sirve muchisimo en el caso de replicaciones de BD, el problemilla es
que las busquedas sobre keys GUID son mas lentas que con Keys int

segun el diseño de la aplicacion quizás no tengas la necesidad de utilizar
un dataset ni cargarlo a memoria, puedes utilizar una aplicacion conectada,o
momentaneamente desconectada a nivel de session, tomando los casos de
limpiar las sessions

saludos
daniel #

"Jose Luis Manners" <jlmanners(-arroba-)acm.org> wrote in message
news:%
¿Y que tal las columnas tipo GUID? Mira esto tomado de MSDN: "Another
option is to use columns of type Guid instead of auto-incrementing


columns.
The algorithm that generates Guid values should never generate the same


Guid
in the DataSet as is generated by the data source"

También puedes poner en el Dataset AutoIncrementStep = -1 para que sean
distintos.

Saludos,

Jose Luis Manners, MCP

"Encuentra felicidad en tu trabajo o nunca serás feliz."
-Kung-Fu-Tsu (Confucio)
Respuesta Responder a este mensaje
#4 José David Galviz M
06/07/2004 - 17:39 | Informe spam
Daniel una pregunta, Los valores de los campos GUID no se repiten en la base
de datos, en el servidor o son valores universalmente únicos?.



ING. JOSE DAVID GALVIZ MUÑOZ
MCAD
DCE Tercera Estrella

"Daniel Sharp" escribió en el mensaje
news:
el tipo de dato GUID es genial porque nunca se repetirán, a decir verdad
ello sirve muchisimo en el caso de replicaciones de BD, el problemilla es
que las busquedas sobre keys GUID son mas lentas que con Keys int

segun el diseño de la aplicacion quizás no tengas la necesidad de utilizar
un dataset ni cargarlo a memoria, puedes utilizar una aplicacion


conectada,o
momentaneamente desconectada a nivel de session, tomando los casos de
limpiar las sessions

saludos
daniel #

"Jose Luis Manners" <jlmanners(-arroba-)acm.org> wrote in message
news:%
> ¿Y que tal las columnas tipo GUID? Mira esto tomado de MSDN: "Another
> option is to use columns of type Guid instead of auto-incrementing
columns.
> The algorithm that generates Guid values should never generate the same
Guid
> in the DataSet as is generated by the data source"
>
> También puedes poner en el Dataset AutoIncrementStep = -1 para que sean
> distintos.
>
> Saludos,
>
> Jose Luis Manners, MCP
>
> "Encuentra felicidad en tu trabajo o nunca serás feliz."
> -Kung-Fu-Tsu (Confucio)


Respuesta Responder a este mensaje
#5 Jose Luis Manners
06/07/2004 - 22:02 | Informe spam
Son valores generados a partir del MAC address del computador.

Saludos,

Jose Luis Manners, MCP

"Encuentra felicidad en tu trabajo o nunca serás feliz."
-Kung-Fu-Tsu (Confucio)

"José David Galviz M" wrote in message
news:%
Daniel una pregunta, Los valores de los campos GUID no se repiten en la


base
de datos, en el servidor o son valores universalmente únicos?.



ING. JOSE DAVID GALVIZ MUÑOZ
MCAD
DCE Tercera Estrella

"Daniel Sharp" escribió en el mensaje
news:
> el tipo de dato GUID es genial porque nunca se repetirán, a decir verdad
> ello sirve muchisimo en el caso de replicaciones de BD, el problemilla


es
> que las busquedas sobre keys GUID son mas lentas que con Keys int
>
> segun el diseño de la aplicacion quizás no tengas la necesidad de


utilizar
> un dataset ni cargarlo a memoria, puedes utilizar una aplicacion
conectada,o
> momentaneamente desconectada a nivel de session, tomando los casos de
> limpiar las sessions
>
> saludos
> daniel #
>
> "Jose Luis Manners" <jlmanners(-arroba-)acm.org> wrote in message
> news:%
> > ¿Y que tal las columnas tipo GUID? Mira esto tomado de MSDN:


"Another
> > option is to use columns of type Guid instead of auto-incrementing
> columns.
> > The algorithm that generates Guid values should never generate the


same
> Guid
> > in the DataSet as is generated by the data source"
> >
> > También puedes poner en el Dataset AutoIncrementStep = -1 para que


sean
> > distintos.
> >
> > Saludos,
> >
> > Jose Luis Manners, MCP
> >
> > "Encuentra felicidad en tu trabajo o nunca serás feliz."
> > -Kung-Fu-Tsu (Confucio)
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida