Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
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.
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,
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,
Los datos son dinámicos?
Tienes posibilidad de volcar esos datos en qvds?
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.
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,
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.
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,