| |||
| Necesito ayuda. Quiero convertir un archivo de texto que es generado de una base de datos y la quiero convertir a tabla por medio de código, no se si este en el foro correcto, soy nuevo en esto. En caso de ser por medio de otro código (javascript, etc....), me gustaría que me lo hicieran saber. |
| |||
| mil gracias por responder. El archivo si esta en el servidor, por eso crei que podia usar asp. El archivo de texto que me dan, es el resultado de la recopilacion de un cuestionario de una pagina, ese archivo me lo dan en txt y cada campo lo separan por comas. Lo que yo quiero hacer, es pasar ese archivo de texto a una tabla de una base de datos (estoy usando access) y todo ese procedimiento lo quiero hacer desde la página, porque "manualmente" lo puedo hacer, pero se pretende que se haga de forma "automática". No se si me expliqué. |
| |||
| 1.- formato csv2.- Leer linea x linea usando fso 3.- Con un split(linea_archivo",") cargas los campos en tu arreglo, según el No. de campos es la longitud de tu arreglo. 4.- Formas la sentencia sql 5.- Siguiente linea así hasta que sea el final de archivo. Pregunta : ¿Cómo lo pasas manualmente? |
| |||
| Disculpame, pero no te entendi nada, soy totalmente nuevo y no entiendo algunas cosa de codigos (si me ayudaras con un ejemplo de codigo, te estaria eternamente agradecido). Manualmente en access, le dices que te importe un archivo, le indicas que es de texto y vas siguiendo unos pasos que te marca el asistente. Al final le dices en que tabla la quieres y listo Última edición por guscast; 07/10/2004 a las 08:49 |
| |||
| Espero te sirva Hola! sigue los comentarios del código para ver si te puedes ayudar con esto que utilizo yo
Código:
Si necesitas ayuda para traerte los datos desde la BD escribe un mensaje y te paso la 2da parte del codigo.<body>
<%
'Declaración de Variables
Dim FSO, oFichero, oConn, nombre_cliente, numero_cliente, modalidad, monto, salida, cupo
'Declaración del objeto
set FSO = Server.CreateObject("Scripting.FileSystemObject")
'Aqui en el mappath colocas el nombre del archivo que vas a trabajar
set oFichero=FSO.OpenTextFile(Server.MapPath("comite.txt"))
'Conectas con la base de datos donde crearás la tabla
set oConn=Server.CreateObject("ADODB.Connection")
oConn.open "DSN=tubasededatos"
'Comienza el recorrido por el plano
Archivo = oFichero.ReadAll
Archivo = Split(Archivo, vbcrlf)
'Yo le coloco acá -1 porque en mi plano el último caracter no lo quiero leer porque viene de una generación de AS/400, como no es tu casa lo colocas sin esto
For i=1 to UBound(Archivo) -1
'Comienzas a declarar tus variables futuros campos de acuerdo a las posiciones en la que se encuentran los datos en el plano, la primera (,) dice la posición y la segunda dice cuantos caracteres son para ese campo
nombre_cliente = Trim(Left(Archivo(i), 25))
numero_cliente = Trim(Mid(Archivo(i), 27, 12))
modalidad = Trim(Mid(Archivo(i), 40, 15))
monto = Trim(Mid(Archivo(i), 56, 15))
salida = Trim(Mid(Archivo(i), 72, 1))
cupo = Trim(Mid(Archivo(i), 74, 1))
'Ejecutas una sentencia con SQL para la creación de los registros en la tabla
SQL="Insert into tutabla (nombre_cliente, numero_cliente, modalidad, monto, salida, cupo) values ('"&nombre_cliente&"','"&numero_cliente&"','"&modalidad&"','"&monto&"','"&salida&"','"&cupo&"')"
oConn.Execute(SQL)
Next
'Cierras tus conexiones
set oConn = nothing
set oFichero = nothing
set FSO = nothing
%>
</body>
Saludos. |
| ||||
| Suponiendo un archivo de texto ("datos.txt") que contenga, separados por comas, en cada línea los datos "Nombre, Apellido, Email" y una tabla llamada "tabla" con los mismos campos (nombre, apellido, email), el siguiente script te serviría a manera de ejemplo (estoy suponiendo tambiñén que la conexión a la BD está hecha y se llama objConn):
Código:
<%
'Instancio el FSO
Set FSO=Server.CreateObject("Scripting.FileSystemObject")
' Le digo qué archivo leer
Set Archivo = FSO.GetFile(Server.MapPath("datos.txt"))
Set f = archivo.OpenAsTextStream
'Leo el contenido
Contenido = f.ReadAll
' Cierro todo
f.Close
set f=nothing
Set Archivo = Nothing
Set FSO = Nothing
'Creo un array con cada línea del archivo
Registros = Split(Contenido, VBCrLf)
'Recorro el array para generar una sentencia de INSERT por cada línea
For i = 0 to UBound(Registros)
' Separo cada registro en campos por la coma
Campos = Split(Registros(i), ", ")
'finalmente armo la sentencia
SQL = "INSERT INTO tabla (nombre, apellido, email) VALUES ('" & Campos(0) & "', '" & Campos(1) & "', '" & Campos(2) & "')"
' y la ejecuto
objConn.Execute SQL
next
%>
Editando: coincidimos con yag en la respuesta
__________________ ...___... Última edición por AlZuwaga; 07/10/2004 a las 09:47 |
| ||||
| Hola oigan yo necesito algo parecido, miren tengo unos archivs de exto en ellos tengo una info que quisiera pasar a un formato de celdas en una tabla de html para presentar esa info a modo de consulta, pero no se como hacerlo podrian ayudarme please, no se si me explique bien, es simple pasar los datos del archivo de texto a una celda hecha en html ok, bueno gracias por la ayuda, si me pueden enviar el codigo mucho mejor gracias bye. |
| ||||
| Mira que oportuno Sigfried, ayer mismo colgué un rutina para ASP para hacer precisamente esto: http://www.forosdelweb.com/showpost....5&postcount=11 Espero que te sirva. Un saludo.
__________________ ¡¡NO A LA GUERRA!! Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares! |
| ||||
| Hola bravenap, creo que el codigo que pusiste ahi es de asp no estoy seguro, pero te agradeceria de manera infinita k si lo tienes en php seria mucho mejor ya que estoy bajo ambiente linux y no cuento con asp, o de lo contrario me puedas ayudar con otra opcion, muchas gracias, espero tu respuesta, bye |
| ||||
| Claro que es de ASP. ¿No estamos en el foro de ASP? Bueno, siento no poder ayudarte de manera infinita, pero es que yo de PHP ando bastante escasito, por no decir nulo. Intenta que alguien del foro de PHP te lo traduzca o puede que ya lo tengan hecho para ese lenguaje. Un saludo y suerte.
__________________ ¡¡NO A LA GUERRA!! Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares! |