Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

RecordSet Anidados

Estas en el tema de RecordSet Anidados en el foro de Bases de Datos General en Foros del Web. tengo un SQL Remoto y tengo el problema, cual hago un aconsulta unica, es muy facil y repido, el problemas es cuando tengo que hacer ...
  #1 (permalink)  
Antiguo 14/12/2010, 23:28
 
Fecha de Ingreso: marzo-2010
Mensajes: 4
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta RecordSet Anidados

tengo un SQL Remoto y tengo el problema, cual hago un aconsulta unica, es muy facil y repido, el problemas es cuando tengo que hacer un RS dentro de otro por ejemplo:

SET RS_1 = CreateObject("ADODB.Recordset")
SQL="SELECT * FROM TABLA1_T INNER JOIN TABLA2_T ON TABLA1_T.ID=TABLA2_T.ID WHERE CAMPO=1"
RS_1.Open SQL, CONN

WHILE NOT RS_1.EOF

SET RS_2 = CreateObject("ADODB.Recordset")
SQL="SELECT * FROM TABLA3_T WHERE CAMPO2=2"
RS_2.Open SQL, CONN


MOVENEXT.RS_1
WEND

dentro del while es necesario hacer hasta 3 RS diferentes que no puedo incluir en el JOIN inicial... esto me genera un LENTITUD muy fuerte, en el peor de los casos marca time out, aumentando el valor del ConnectionTimeOut me resulta para que no marque error pero la lentitud es imposible remediarla, lo mas raro es que al correr este mismo codigo con una base de datos ACCESS corre super rapido, pero por ser una BD muy concurrente el ACCESS truena.

que opinan??? comentarios??? sugerencias???
  #2 (permalink)  
Antiguo 15/12/2010, 02:39
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: RecordSet Anidados

Con lo que nos muestras se puede decir poco...

Execepto que si la segunda sentencia SQL
Cita:
SQL="SELECT * FROM TABLA3_T WHERE CAMPO2=2"
es fija por que te empeñas en ejecutarla para cada registro del primer rs...

si no es fija y nos muestras que haces quizas se podria ver alguna cosa...

Quim
  #3 (permalink)  
Antiguo 24/03/2011, 18:22
 
Fecha de Ingreso: marzo-2010
Mensajes: 4
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: RecordSet Anidados

retomando el tema.. sigo con el mismo problema...

no, el segundo no es fijo

SQL="SELECT * FROM TABLA3_T WHERE CAMPO2="&RS_1("CLAVE")&""

es una consulta dinamica que depende del primer RS, cambia segun los parametros de cada vuelta del WHILE

pero se alenta mucho... al grado que supera el limite de tiempo y truena
ya lo intente con un stored procedure y paso lo mismo

que podra ser?

Etiquetas: asp, recordset, sql2005
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:16.