Ver Mensaje Individual
  #3 (permalink)  
Antiguo 01/09/2004, 09:21
eduvivi
 
Fecha de Ingreso: enero-2002
Mensajes: 349
Antigüedad: 22 años, 4 meses
Puntos: 1
Bueno aqui va las solucion, como pasar una BD de Excel a Postgre

- Exportar el .xls a .csv, al exportarlo, hacerlo como (comma delimited)
- Despues abrir este .csv con el WordPad y les va a mostrar los datos asi:

empresa,categoria,rubro,comentarios,,,,
Empresa1,Categoria1,,comentarios1,,,,
Empresa2,Categoria2,rubro2,comentarios2,,,,
Empresa3,Categoria3,,comentarios3,,,,
Empresa4,Categoria4,,comentarios4,,,,
Empresa5,Categoria5,rubro5,comentarios5,,,,
y asi hasta el ultimo,
en la ultimas lineas les pones algo asi:
0,
,,
(Esto borrenlo, ya que no es ningun dato necesario)

* Imaginemos que todos los campos, en su BD Psotgre son NOT NULL, excepto el de rubro, por lo que en su archivo Excel, ustedes no escribieron datos en algunos campos de la columna rubro
Entonces, si se fijan en algunos lugares le pone ",,", es decir en ese lugar no hay datos para escribir, lo que hace es, cuando envia los datos a la BD Postgre en ese lugar no esccribe nada.
Bien, ahora:
* les pone los nombres de las columnas, lo que marque en rojo arriba, eso hay que borrarlo, ya que sino lo toma como datos tambien.
* Las cuatro comas que estan al final de cada linea, hay que borrarlas tambien, no se porque las pone pero, son innecesarias.
* y por ultimo esto:

hay que conectarse a la base, a traves del cliente de PostgreSQL (psql
-U USER -d Base)

Una vez alli ejecutamos este query:

COPY nombretabla FROM '/un/directorio/archivo.csv' WITH DELIMITER ',';

Atención! La referencia a archivo.csv DEBE SER ABSOLUTA.

Espero les ayude....
eduvivi