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

PostgreSQL copy tabla from file?

Estas en el tema de PostgreSQL copy tabla from file? en el foro de PostgreSQL en Foros del Web. la siguiente instrucción me funciona COPY empresas FROM 'c:/Empresas Jalisco22.txt' WITH DELIMITER e'\t' NULL AS '(null)'; cuando el archivo lo hago manualmente poniendo tabulación entre ...
  #1 (permalink)  
Antiguo 01/03/2010, 22:39
 
Fecha de Ingreso: febrero-2009
Mensajes: 17
Antigüedad: 10 años, 11 meses
Puntos: 0
PostgreSQL copy tabla from file?

la siguiente instrucción me funciona
COPY empresas FROM 'c:/Empresas Jalisco22.txt' WITH DELIMITER e'\t' NULL AS '(null)';
cuando el archivo lo hago manualmente poniendo tabulación entre cada dato de columna y dando un enter por cada fila, pero al generar este archivo "Empresas Jalisco22.txt" delimitando con tabulación en excel, simplemente no genera para PostgreSQL el salto de linea y lo toma como otro \t marcando el siguiente error:
ERROR: datos extra después de la última columna esperada

existe algo como:
LINES TERMINATED BY '\n' (MySQL)
ó ROWTERMINATOR='\n' (SQL Server)
para PostgreSQL
  #2 (permalink)  
Antiguo 02/03/2010, 06:48
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 10 años, 11 meses
Puntos: 360
Respuesta: PostgreSQL copy tabla from file?

Las lineas en postgresql siempre terminan con un \n. No es posible de otra forma.

Mira las opciones de copy con la descripción de cada una.

Te recomiendo no tener espacios en blanco en los nombres de los archivos y usar un carácter mas explicito como separador de campos (Una coma o un | ). Te traerá menos problemas.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 02/03/2010, 10:25
 
Fecha de Ingreso: febrero-2009
Mensajes: 17
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: PostgreSQL copy tabla from file?

Pues esta medio raro, porque pasa esto...

Excel 2007

Columna1 (\t) Columna 2 (\t) Columna 3 (\t) fila 1
Columna1 (\t) Columna 2 (\t) Columna 3 (\t) fila 2
Columna1 (\t) Columna 2 (\t) Columna 3 (\t) fila 3
Columna1 (\t) Columna 2 (\t) Columna 3 (\t) fila 4

Cuando genero el delimitado por tabulación .txt, cada salto de fila lo hace poniendo un (\t) y no con un (\n) eso hace que Columna1 de fila 2 lo tome como Columna 4 que no existe y me ponga el Error: "datos extra después de la última columna esperada".

Y lo que tengo que hacer es manipular el .txt dando enter por cada fila, cosa que ni de chiste.

Esto... lo toma asi PostgreSQL, pero MySQL y SQLServer si lo identifican con \n el archivo generado con Excel.

Ya lo he generado por comas y por cualquier delimitador, pero pasa lo mismo. Igual ya lo he hecho de otra manera, pero queria saber si había un:
LINES TERMINATED BY ó ROWTERMINATOR para ponerle \t

Etiquetas: copy, file, tablas
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:58.