La Web del Programador: Comunidad de Programadores
 
    Pregunta:  42407 - BLOQUEOS DE TABLAS EN SQL DESDE VB
Autor:  Alice Encalada
Por favor necesito ayuda urgente. Tengo una aplicaciĆ³n donde uso varios recordset (ADODB) que ejecuta un query como por ejemplo

str1 = ""
str1 = "select ltrim(rtrim(t_item)) as t_item, t_dsca from ttiitm001" &
cia & " art where upper(art.t_dsca) like '%" & LTrim(RTrim
(txtdescripcion)) & "%'"
If rsbusca2.State = 1 Then rsbusca2.Close
rsbusca2.Open str1, CnnSql, adOpenKeyset, adLockReadOnly

Y cuando reviso mediante SQL Server 2000, este query bloquea las tablas con un tipo de bloqueo "TAB " lo que significa que me bloquea toda la tabla. No soy muy experta en SQL Server, por mi duda es esta . Existe algun comando en el que pueda indicar que no bloquee la tabla ya que es solo una consulta lo que realizo. Por favor si alguno de uds, me puede ayudar estare profundamente agradecida.
Gracias de antemano.

  Respuesta:  Mauro
Hola, bueno voy a intentar contestar tu pregunta.
Esta forma de apertura del recordset no tendria por que generarte un bloqueo en la tabla. Fijate si no estas iniciando una transaccion desde el objeto CnnSql.

De todos modos existe una clausula en sql para evitar de forma explicita los bloqueos en una sentencia Select (NOLOCK)

SELECT au_lname FROM authors WITH (NOLOCK)

Saludos