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

archivo txt

Estas en el tema de archivo txt en el foro de PostgreSQL en Foros del Web. un caluroso sludo a todos, tal vez este tipo de problemas ya lo han solucionado antes, pero es que necesito lo siguiente: tengo un arhico ...
  #1 (permalink)  
Antiguo 15/10/2010, 14:38
Avatar de Sougiro  
Fecha de Ingreso: octubre-2007
Mensajes: 136
Antigüedad: 16 años, 6 meses
Puntos: 1
archivo txt

un caluroso sludo a todos, tal vez este tipo de problemas ya lo han solucionado antes, pero es que necesito lo siguiente:

tengo un arhico txt y lo necesito combertir en un sql, para llenar una tabla la cual ya tengo creada en posgrest.

De antemano muchisimas gracias por ayudar.
  #2 (permalink)  
Antiguo 15/10/2010, 16:49
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: archivo txt

Abres el pgadmin copias el contenido en un editor SQL y lo guardas.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 19/10/2010, 06:41
Avatar de Sougiro  
Fecha de Ingreso: octubre-2007
Mensajes: 136
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: archivo txt

gracias por la ayuda, pero creo que no me hice entender bien.

Voy a explicar mejor la situacion para que pe puedas ayudar mejor, el asunto es el siguiente:

Yo recibo un archivo plano o TXT con unos datos seprados por "," o ";" eso aun no se ha definido, y yo a traves de php debo coger ese archivo y volverlo un query o sql simple que me permita llenar la tabla que tengo creada, la idea es que yo pueda utilizar un insert into tablita() values() y poder llenar la tabal con lo datos que vienen en el archivo.

Solo necesito la sentencia del sql.

Pido disculpas si no me hice entender bien, muchas gracias.
  #4 (permalink)  
Antiguo 19/10/2010, 07:12
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: archivo txt

Sougiro... esto que dices, se hace atraves del comando copy y no con una secuencia de inserts.

Te pongo un ejemplo:
tienes un archivo de texto así:
1;DANIEL;8847852
2;CARLOS;8653201
3;DIEGO;6538900


Y lo deseas cargar en una tabla de la base de datos que tiene los campos ID,NOMBRE,TELEFONO.

Desde postgresql debes ejecutar esto:
COPY tabla_persona FROM '/ruta/archivo.txt' WITH DELIMITER AS ';';

Para hacerlo desde php hay una función que hace esto (pg_copy_from) pero en este caso si tienes problemas, es mejor que preguntes en dicho foro.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 19/10/2010, 08:40
Avatar de Sougiro  
Fecha de Ingreso: octubre-2007
Mensajes: 136
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: archivo txt

Muchas gracias por la informacion a sido de mucha ayuda ya que no tenia ni idea de que las cosas eran asi, jeje que pena volver a molestarte pero es que trato de hacer una prueba desde el escritorio, pero me salio el siguiente error:

ERROR: could not open file "Escritorio/Prueba BD" for reading: No such file or directory
SQL state: 58P01

yo creo que es porque la direccion esta mal escrita, me podrias indicar como si escribe bien la direccion para el archivo en el escritorio.

Muchas gracias por todo.
  #6 (permalink)  
Antiguo 19/10/2010, 08:44
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: archivo txt

windows? unix?

Un probloema muy frecuente es permisos insuficientes en el directorio donde se encuentra el archivo.

Postea como lo estas haciendo y la linea exacta.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #7 (permalink)  
Antiguo 19/10/2010, 09:35
Avatar de Sougiro  
Fecha de Ingreso: octubre-2007
Mensajes: 136
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: archivo txt

COPY seccion FROM 'Escritorio/Prueba BD' WITH DELIMITER AS ';';
  #8 (permalink)  
Antiguo 19/10/2010, 09:40
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: archivo txt

Cita:
windows? unix?
En c:/? D:/?
revisaste permisos?
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #9 (permalink)  
Antiguo 19/10/2010, 09:49
Avatar de Sougiro  
Fecha de Ingreso: octubre-2007
Mensajes: 136
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: archivo txt

no para nada, simplemente le puse es direccion y lo probe. Realmente es que nose donde veo los permisos, si es en el archivo?.
Que pena ser tan novato en esto, pero es mi primera vez que hago algo asi, y no tengo ni idea de todos los pasos que hay que segir para coger ese archivo y usarlo en el posgrest.

Mcuhas gracias por tu paciencia y tu ayuda.
  #10 (permalink)  
Antiguo 19/10/2010, 09:50
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: archivo txt

Sougiro

en que sistema operativo trabajas?
con base en esto te puedo orientar mejor
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #11 (permalink)  
Antiguo 19/10/2010, 10:01
Avatar de Sougiro  
Fecha de Ingreso: octubre-2007
Mensajes: 136
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: archivo txt

mmm jejeje perdon se me paso, en windows xp
  #12 (permalink)  
Antiguo 19/10/2010, 10:06
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: archivo txt

OK.
En windows la sentencia debe ser con \\.

Pega el archivo de texto en un disco directamente.
Por ejemplo en: D:\archivo.txt

ahora ejecutas.
COPY seccion FROM 'D:\\archivo.txt' WITH DELIMITER AS ';';

Dinos que te sale.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: 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 07:07.