Foros del Web » Programando para Internet » ASP Clásico »

Guardar resultado de consulta sql en archivo de texto

Estas en el tema de Guardar resultado de consulta sql en archivo de texto en el foro de ASP Clásico en Foros del Web. Hola, estoy necesitando guardar el resultado de una consulta sql (a una base de datos sql server) directamente en un archivo txt. Puse esta pregunta ...
  #1 (permalink)  
Antiguo 13/01/2011, 07:23
Avatar de edu007ar  
Fecha de Ingreso: septiembre-2003
Ubicación: Buenos Aires
Mensajes: 118
Antigüedad: 18 años, 2 meses
Puntos: 0
Guardar resultado de consulta sql en archivo de texto

Hola, estoy necesitando guardar el resultado de una consulta sql (a una base de datos sql server) directamente en un archivo txt.

Puse esta pregunta en asp clasico porque estoy trabajando con este lenguaje.

Hasta ahora lo que hago es:
- Hago la consulta
- Guardo todo el resultado en una variable con getRows
- Convierto toda esa variable bidimensional en una variable comun separando los campos por tabulado y las lineas por [enter]
- Creo el archivo txt y le meto el valor de esa segunda variable

El tema es que actualmente son unos 8000 registros y en aumento, y ese proceso me demora unos 4-5 minutos de reloj, lo que es muchisimo.

Si a alguien se le ocurre alguna manera o idea se lo voy a agradecer. Obviamente esa exportacion debo hacerla desde el codigo asp, no desde una funcion o wizard del sql manager.

He estado buscando alguna forma de exportar directamente desde la consulta a un txt pero no encontre nada.

Gracias.
Slds.
__________________
www.proavanz.com.ar
  #2 (permalink)  
Antiguo 13/01/2011, 08:43
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 19 años, 10 meses
Puntos: 146
Respuesta: Guardar resultado de consulta sql en archivo de texto

Si te importa la velocidad entonces no realices accesos a disco dentro de un bucle

Trata de hacerlo en un sola paso.

En este momento no tengo chance de hacer pruebas, pero a golpe de vista creo debes hacer una página que genere una vista del resultado de esa consulta, luego en otra llamas a esa página con algo como esto:

Set oCod = Server.CreateObject("Microsoft.XMLHTTP")
oCod.Open "GET", "http://servidor/pagina.asp", False
oCod.Send


y con un oCod.responseText tiene de un solo golpe todo el resultado del query, luego con FSO grabas en una sola linea toda esa cadena de texto.

Prueba, y si no te sale pega el código que lleves y veremos si se puede arreglar

saludos
  #3 (permalink)  
Antiguo 13/01/2011, 09:15
Avatar de edu007ar  
Fecha de Ingreso: septiembre-2003
Ubicación: Buenos Aires
Mensajes: 118
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Guardar resultado de consulta sql en archivo de texto

hola Myakire, gracias por responder.

No llego a entender bien la sugerencia, es decir, esa pagina.asp qué debería hacer? escribir en pantalla todos los registros con sus celdas para despues llamarla desde otra página?

Transcribo la funcion que uso actualmente:

sql="select campo1, campo2, campo3, campo4, campo5, etc from tabla where x condicion"
rs.open sql, conn
reg=rs.getrows
rs.close

for i = 0 to ubound(reg,2)
for j=0 to ubound(reg,1)
listado=listado&reg(j,i)&chr(9)
next
listado=listado&vbcrlf
next

Luego creo el archivo txt y le inserto toda la variable listado y tambien hice la prueba de hacer un response.write de la variable listado y tarda lo mismo, así que no creo que el problema sea el tamaño de la variable ni la creacion del archivo, sino el bucle por la cantidad de registros.

Slds.
__________________
www.proavanz.com.ar

Etiquetas: consulta, exportar, server, sql, txt
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:35.