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

Problemas al Exportar de SQL Server a TXT

Estas en el tema de Problemas al Exportar de SQL Server a TXT en el foro de ASP Clásico en Foros del Web. Hola agradezco d antemano a kien pueda ayudarme a resolver esta duda; tengo el siguiente codigo para exportar a un archivo TXT pero me marca ...
  #1 (permalink)  
Antiguo 11/08/2008, 11:08
 
Fecha de Ingreso: abril-2008
Ubicación: MEXICO D.F.
Mensajes: 22
Antigüedad: 16 años, 1 mes
Puntos: 0
Exclamación Problemas al Exportar de SQL Server a TXT

Hola agradezco d antemano a kien pueda ayudarme a resolver esta duda; tengo el siguiente codigo para exportar a un archivo TXT pero me marca errores, el archivo de texto ya lo genera PERO UNICAMENTE EN (G:) por k en cualquier otra ruta me marca error de "PERMISO DENEGADO!" El problema ahora es este error:

Tipo de error:
ADODB.Recordset (0x800A0CC1)
No se encontró el elemento en la colección que corresponde con el nombre o el ordinal pedido.
/sarfovi/exporta_txt.asp, línea 17


ya revise el nombre de los campos y el de la tabla pero no encuentro el error; agrego el codigo completo para k si alguien encuentra el error me ayude a resolverlo. Gracias!!!
************************************************** ************

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/cnn_sarfovi.asp" -->

<%
set fso = createobject("scripting.filesystemobject")
set objBase=server.CreateObject("ADODB.Connection")
set objtabla=server.CreateObject("ADODB.recordset")
objbase.Open "DRIVER={SQL Server}; SERVER=arturo; DATABASE=resp_SARFOVI; UID=sa; PWD=xxx"

'recorremos toda la tabla que queremos exportar
set objtabla=objbase.Execute("SELECT * FROM sf_altas_B0208_prueba")
Set act = fso.CreateTextFile("G:\altas_2.txt", true)
i=0
'bucle hasta final de fichero
do while not objtabla.EOF
'vamos incrementando una cadena que guardaremos en el archivo de texto
LINEA 17 --> txt = "INSERT INTO sf_altas_B0208_prueba(TIPO_MOV,RFC,CURP,NSS_ISSSTE ,PATERNO,MATERNO,NOMBRE,CVE_PAGADU,CVE_REPTO,FEC_N AC,ENT_NAC,SEXO,EDO_CIVIL,DOMICILIO,COLONIA,MUNICI PIO,CP,ENT_FED,TIPO_NOMB,NO_EMP,CVE_ENTRECEP,AFORE ,FEC_ING,FEC_COTIZA,CREDITO_FOVI,DIAS_COT,DIAS_INC AP,DIAS_AUSC,SDO_BAS_CRED,SDO_RCV,SDO_SAR_VIVI,APO TA_SOLIDA,IMPORTE_APORTA_SOLIDA,FUTURO,INDICA_EXCE P,FILER,RES_OP,MOT_RE1,MOT_RE2,MOT_RE3) VALUES ('" & objtabla.Fields("tipo_mov,rfc,curp,nss_issste,pate rno,materno,nombre,cve_pagadu,cve_repto,fec_nac2,e nt_nac,sexo,edo_civil,domicilio,colonia,municipio, cp,ent_fed,tipo_nomb,no_emp,cve_entrecep,afore,fec _ing2,fec_cotiza2,credito_fovi,dias_cot,dias_incap ,dias_ausc,sdo_bas_cred,sdo_RCV,sdo_SAR_VIVI,apota _solida,importe_aporta_solida,futuro,indica_excep, filer,res_op,mot_re1,mot_re2,mot_re3") & "')" & vbcrlf

'Guardamos la variable txt al Archivo.txt
act.WriteLine(txt)
i=i+1
objtabla.MoveNext
loop
act.Close
Response.Write("Se han copiado " & i & " registros.")
%>
************************************************** *************

Espero sus comentarios y sugerencias
  #2 (permalink)  
Antiguo 11/08/2008, 11:38
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Respuesta: Problemas al Exportar de SQL Server a TXT

Lo de permiso denegado .... supongo ya es claro: debes darle permiso de escritura en la ruta que quieras al usuario IUSR_NombreDelServidor

Sobre lo otro, te iba a decir que era igual de simple un error de dedo, pero viendo como lo hiciste ..... vamos!!, que no se que pensabas que ASP iba a interpretar al ver tu linea:
objtabla.Fields("tipo_mov,rfc,curp,nss_issste,pate rno,materno,nombre,cve_pagadu,cve_repto,fec_nac2,e nt_nac,sexo,edo_civil,domicilio,colonia,municipio, cp,ent_fed,tipo_nomb,no_emp,cve_entrecep,afore,fec _ing2,fec_cotiza2,credito_fovi,dias_cot,dias_incap ,dias_ausc,sdo_bas_cred,sdo_RCV,sdo_SAR_VIVI,apota _solida,importe_aporta_solida,futuro,indica_excep, filer,res_op,mot_re1,mot_re2,mot_re3")

Para hacer referencia a un campo de un objeto RecordSet, debes referirte a ellos de uno a uno, es decir: objtabla("tipo_mov"), objtabla("rfc,curp") ,objtabla("nss_issste"), etc, etc, además de concatenarlos y haciendo conversión de tipos donde aplique.

Hay formas claro de recorrer la colección Fileds con un FOR, no se si eso se te haga mas sencillo. Pero sugiero que te los avientes a mano si no estas muy familiarizado con esto.

Saludos!!
  #3 (permalink)  
Antiguo 11/08/2008, 11:47
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Respuesta: Problemas al Exportar de SQL Server a TXT

Hola :)

FileSystemObject (FSO) solo sirve para trabajar con archivos en modo local (en el servidor) por lo que debes poner un path completo donde se realizarán los cambios en los archivos implicados. Puedes usar server.MapPath para averiguar el path completo a partir de uno relativo.

El problema que tienes es que intentas obtener los datos del recordset de todos los campos a la vez:

txt = "INSERT INTO sf_altas_B0208_prueba(TIPO_MOV,RFC,CURP,NSS_ISSSTE ,PATERNO,MATERNO,NOMBRE,CVE_PAGADU,CVE_REPTO,FEC_N AC,ENT_NAC,SEXO,EDO_CIVIL,DOMICILIO,COLONIA,MUNICI PIO,CP,ENT_FED,TIPO_NOMB,NO_EMP,CVE_ENTRECEP,AFORE ,FEC_ING,FEC_COTIZA,CREDITO_FOVI,DIAS_COT,DIAS_INC AP,DIAS_AUSC,SDO_BAS_CRED,SDO_RCV,SDO_SAR_VIVI,APO TA_SOLIDA,IMPORTE_APORTA_SOLIDA,FUTURO,INDICA_EXCE P,FILER,RES_OP,MOT_RE1,MOT_RE2,MOT_RE3) VALUES ('" & objtabla.Fields("tipo_mov,rfc,curp,nss_issste,pate rno,materno,nombre,cve_pagadu,cve_repto,fec_nac2,e nt_nac,sexo,edo_civil,domicilio,colonia,municipio, cp,ent_fed,tipo_nomb,no_emp,cve_entrecep,afore,fec _ing2,fec_cotiza2,credito_fovi,dias_cot,dias_incap ,dias_ausc,sdo_bas_cred,sdo_RCV,sdo_SAR_VIVI,apota _solida,importe_aporta_solida,futuro,indica_excep, filer,res_op,mot_re1,mot_re2,mot_re3") & "')" & vbcrlf

Hazlo uno por uno:

txt = "INSERT INTO sf_altas_B0208_prueba(TIPO_MOV,RFC,CURP,NSS_ISSSTE ,PATERNO,MATERNO,NOMBRE,CVE_PAGADU,CVE_REPTO,FEC_N AC,ENT_NAC,SEXO,EDO_CIVIL,DOMICILIO,COLONIA,MUNICI PIO,CP,ENT_FED,TIPO_NOMB,NO_EMP,CVE_ENTRECEP,AFORE ,FEC_ING,FEC_COTIZA,CREDITO_FOVI,DIAS_COT,DIAS_INC AP,DIAS_AUSC,SDO_BAS_CRED,SDO_RCV,SDO_SAR_VIVI,APO TA_SOLIDA,IMPORTE_APORTA_SOLIDA,FUTURO,INDICA_EXCE P,FILER,RES_OP,MOT_RE1,MOT_RE2,MOT_RE3) VALUES ('" & objtabla("tipo_mov") &"','" objtabla("rfc,curp") & "','" & objtabla("nss_issste") & etc etc etc & "')" & vbcrlf


Un saludo

EDIT :
Ups, se me adelantó Myakire

NOTA:
Estamos todos hoy muy "contestones"
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
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 15:35.