Transacciones server 2000 con ADO

20/10/2006 - 18:45 por José Luis Capel | Informe spam
Hola a todos,

Tengo un SqlServer 2000 instalado en un equipo. Desde otro equipo me
conecto a este servidor mediante ADO. Comienzo una transacción que puede
durar 20 segundos o más en completarse (hay muchos cálculos y
actualizaciones). Desde otro terminal se intenta acceder a alguna de las
tablas involucradas en la transacción, en modo lectura y me da error de
timeout. El nivel de aislamiento de la transacción la he establecido a
adXactChaos.

El trabajo que se manda a SqlServer en la transacción no es como para
colapsar al servidor sql...

La pregunta es: ¿es posible que al iniciar una transacción SqlServer
bloquee el acceso a esos datos (en modo lectura) desde otras conexiones?


Saludos y gracias por vuestra ayuda.
José Luis Capel

Preguntas similare

Leer las respuestas

#1 Maxi
20/10/2006 - 22:01 | Informe spam
Hola te recomendaria que leas en tus libros on line acerca de bloques asi
puedes entender como funcionan, pero basicamente es correcto lo que esta
sucediendo, para armar una transaccion SQL no permitira que se puedan meter
cosas en el medio y una lectura estaria siendo sucia en ese caso, poder
podrias cambiarlo con el seteo de ISOLATION LEVEL pero ten mucho cuidado con
ello


Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"José Luis Capel" escribió en el mensaje
news:
Hola a todos,

Tengo un SqlServer 2000 instalado en un equipo. Desde otro equipo me
conecto a este servidor mediante ADO. Comienzo una transacción que puede
durar 20 segundos o más en completarse (hay muchos cálculos y
actualizaciones). Desde otro terminal se intenta acceder a alguna de las
tablas involucradas en la transacción, en modo lectura y me da error
de
timeout. El nivel de aislamiento de la transacción la he establecido a
adXactChaos.

El trabajo que se manda a SqlServer en la transacción no es como para
colapsar al servidor sql...

La pregunta es: ¿es posible que al iniciar una transacción SqlServer
bloquee el acceso a esos datos (en modo lectura) desde otras conexiones?


Saludos y gracias por vuestra ayuda.
José Luis Capel

Respuesta Responder a este mensaje
#2 José Luis Capel
23/10/2006 - 09:16 | Informe spam
Hola Maxi,

Muchas gracias por tu respuesta.

Hola te recomendaria que leas en tus libros on line acerca de bloques asi
puedes entender como funcionan, pero basicamente es correcto lo que esta
sucediendo, para armar una transaccion SQL no permitira que se puedan
meter cosas en el medio y una lectura estaria siendo sucia en ese caso,
poder podrias cambiarlo con el seteo de ISOLATION LEVEL pero ten mucho
cuidado con ello



Estoy aprendiendo Sql a marchas forzadas. Provengo del mundo xbase/clipper
con lo que la adaptación a Sql y sistemas cliente/servidor se me hace a
veces un poco lento.

Actualmente las transacciones con ADO las estoy poniendo en un nivel
bastante bajo, concretamente en adXactBrowse que, según indica la ayuda, es:
'Indicates that from one transaction you can view uncommitted changes in
other transactions' Entonces entiendo que la transacción permite leer datos
aún no confirmados.

Conoces url's de libros online sobre SqlServer 2000 y Ado ??

Agradecido por tu ayuda,
José Luis Capel
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida