Skip to main content
Announcements
NEW Customer Portal: Initial launch will improve how you submit Support Cases. FIND OUT MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
mvazquez
Contributor III
Contributor III

Bloqueos al usar Qlikview

Buenas tardes,

Me estoy encontrando con la siguiente situación.

Estoy atacando una base de datos de Sql Server, pidiendo una consulta que debido al volumen tarda en ejecutarse entorno a 10 minutos (y ya está partida en meses).

Sucede que cuando la aplicación intenta acceder a esa tabla se la encuentra bloqueda, detengo la recarga de Qlikview y todo se soluciona.

Se supone que Qliview no bloquea, pero además el usuario que se conecta para lanzar la consulta es de sólo lectura. He probado con tipos de usuarios distintos, conexión OLE DB y ODBC. Pero nada, estoy en un callejón.

¿Alguna explicación de lo que sucede, ayuda, comentario, solución?

Muchas gracias.

1 Solution

Accepted Solutions
mvazquez
Contributor III
Contributor III
Author

Muchas gracias Jordi por tu colaboración.

Finalmente, parece, que lo hemos resuelto con SELECT * FROM tabla with(nolock).

Por lo menos en 45 minutos que lleva corriendo el script no se ha bloqueado.

Un saludo.

View solution in original post

7 Replies
sorrakis01
Specialist
Specialist

Hola Manuel,

Para entenderlo bien... tu realizas la consulta en el sql y te funciona bien? porque no pruebas de realizar la consulta con algun tipo de filtro para que te tarde menos y así compruebas si es culpa del usuario o de la consulta?

Saludos,

mvazquez
Contributor III
Contributor III
Author

Buenas tardes Jordi,

Realizando la misma consulta (select * from tabla where fecha bewteen inicio and fin) desde Excel no se produce ningún bloqueo (incluso he comparado las cadenas de conexión de Qlik y de Excel, son iguales salvo por el orden).

Reducir la consulta al menor intervalo (un día) es una solución a medias (hasta que no pueda lanzar el script y ver que sucede con el rendimiento no se si me sirve). La consulta quedaría encuadrada en un bucle FOR con 364 consultas (una para cada día del año) .

El problema está en que el server hace un proceso mensual sobre esa tabla que le consume 20 días del mes, de ahí que sea fundamental no bloquear esa tabla.

Un saludo,

sorrakis01
Specialist
Specialist

Los datos son dinámicos?

Tienes posibilidad de volcar esos datos en qvds?

mvazquez
Contributor III
Contributor III
Author

Los datos no son dinámicos.

La idea es generar un QVD con lo anterior a hoy, son como 12GB en qvds de diferentes tablas, y luego sólo traer los últimos 2 días. Pero generar ese primer QVD se está complicando en exceso. Son tablas de movimientos contables y estado de carteras y tienen muchos registros.

Y por diversas causas tampoco podemos hacer una copia de la BD, ni extraer las tablas en concreto y así no bloquear la base de datos real.

sorrakis01
Specialist
Specialist

Hola,

Creo recordar que una vez nos paso un caso parecido. Lo acabamos solucionando generando varios qvds (es decir la consulta principal ir haciendola en partes) y luego los volvimos a cargar todo en uno ya que no podíamos hacerlo de otra forma... No sé si te ayuda o quizás alguien te puede aportar más luz a este asunto

Saludos,

mvazquez
Contributor III
Contributor III
Author

Muchas gracias Jordi por tu colaboración.

Finalmente, parece, que lo hemos resuelto con SELECT * FROM tabla with(nolock).

Por lo menos en 45 minutos que lleva corriendo el script no se ha bloqueado.

Un saludo.

sorrakis01
Specialist
Specialist

Hola Manuel,

Gracias a ti por compartirlo... Miraros bien lo del nolock ya que no tiene muchos "fans"...

Ya nos cuentas como os ha ido la experiencia....

Saludos,