Si tenés razón, paso a explicar La base de datos SQL Server contiene datos de un padrón de beneficiarios de un plan nacional. Los datos son muy cambiantes y dinámicos. El TXT se genera una vez al mes y tiene características especiales entre ellas la de darme una "foto" de los datos de los beneficiarios en un momento determinado de tiempo. Y el histórico tiene que estar basado en estas "fotos".
Otra de las características es que si o si lo tengo que generar para enviarlo a otra entidad. Entonces ya que lo tengo, lo aprovecho para la importación. Saludos ~~~~~~~~~~~~~~~~ Guillermo Villanueva El 27 de septiembre de 2010 21:42, Horacio Miranda <hmira...@gmail.com>escribió: > 2010/9/28 Guillermo Villanueva <guillermo...@gmail.com>: > > No Horacio, al archivo de texto separado por tabuladores (UTF8 sin BOM) > lo > > obtengo con una pequeña aplicación desde un SQL Server 2000. > > Saludos > > > > Solo una consulta, si este proceso es un proceso normal, no sería > mejor tener un ODBC desde postgresql a ese SQL server y hacer el > import con un dblink ? (desde ambas bases se tiene el mismo encoder > verdad ? ). > > > ~~~~~~~~~~~~~~~~ > > Guillermo Villanueva > > > > > > El 27 de septiembre de 2010 18:21, Horacio Miranda <hmira...@gmail.com> > > escribió: > >> > >> Solo una pregunta, es mi idea o estas haciendo un backup y respaldo a > >> mano ? (datos de forma selectiva?). > >> > >> 2010/9/28 Guillermo Villanueva <guillermo...@gmail.com>: > >> > Mariano, muchísimas gracias por tu respuesta. > >> > Primero que nada te cuento que al ejecutar el COPY FROM desde pgadmin3 > >> > funcionó correctamente!! no lo había hecho así por que la verdad que > no > >> > tenía idea de donde iba a intentar tomar el archivo especificado. > >> > Muy bunas las pruebas que hiciste con el simbolito º , la verdad que > >> > estoy > >> > medio perdido con esto de las codificaciones , yo pondría todo en > UTF8, > >> > pero > >> > el sistema que intento implementar tiene como requisito que la base > esté > >> > en > >> > LATIN1 (maldita restricción). > >> > De nuevo gracias. > >> > Ah te mando el \l de mi server linux > >> > nacer=# \l > >> > List of databases > >> > Name | Owner | Encoding | Collation | Ctype | > Access > >> > privileges > >> > > >> > > -----------+----------+----------+-------------+-------------+----------------------- > >> > nacer | projekt | LATIN1 | C | C | > >> > postgres | postgres | UTF8 | es_AR.UTF-8 | es_AR.UTF-8 | > >> > template0 | postgres | UTF8 | es_AR.UTF-8 | es_AR.UTF-8 | > >> > =c/postgres > >> > : > >> > postgres=CTc/postgres > >> > template1 | postgres | UTF8 | es_AR.UTF-8 | es_AR.UTF-8 | > >> > =c/postgres > >> > : > >> > postgres=CTc/postgres > >> > > >> > Saludos > >> > > >> > ~~~~~~~~~~~~~~~~ > >> > Guillermo Villanueva > >> > > >> > > >> > El 27 de septiembre de 2010 14:24, Mariano Reingart < > reing...@gmail.com> > >> > escribió: > >> >> > >> >> 2010/9/27 Guillermo Villanueva <guillermo...@gmail.com>: > >> >> > Hola gente como están? > >> >> > Nuevamente estoy renegando con COPY FROM > >> >> > Resulta que tengo un archivo detexto separado por tab utf8 sin BOM > >> >> > muy > >> >> > grande que al utilizarlo para ingresar datos en mi db a través de > >> >> > COPY > >> >> > FROM > >> >> > funciona correctamente y se ingresan todos los datos. (mas de > 600mil > >> >> > líneas) > >> >> > Todo esto en un postgres 8.4 sobre windows 2000 server y sobre una > >> >> > base > >> >> > de > >> >> > datos con ENCODING = 'LATIN1' > >> >> > Si al mismísimo archivo, lo copio a un servidor postgres 8.4 sobre > >> >> > ubuntu > >> >> > server y sobre una base de datos tambien con ENCODING = 'LATIN1' me > >> >> > provoca > >> >> > el siguiente error: > >> >> > postg...@servernacer:/var/ftp/nacer/postgresql$ psql nacer > >> >> > psql (8.4.4) > >> >> > Type "help" for help. > >> >> > nacer=# copy nacer.historicotemp from > >> >> > '/var/ftp/nacer/postgresql/B10201008.UEC.TXT' null as '' > >> >> > nacer-# ; > >> >> > ERROR: value too long for type character varying(2) > >> >> > CONTEXT: COPY historicotemp, line 6503, column afidompiso: "3º" > >> >> > nacer=# > >> >> > La columna afidompiso está definida como varchar(2) y el dato que > >> >> > muestra es > >> >> > también de 2 . Si reviso el archivo en la línea 6503 tengo 2 > >> >> > caracteres > >> >> > y un > >> >> > tab. Aclaro, el copy from funcionó bien en el servidor windows. > >> >> > >> >> Hiciste un > >> >> SET CLIENT_ENCODING = 'LATIN1'; > >> >> > >> >> Revisaste el encoding de la terminal de linux? > >> >> Probaste desde pgadmin3? > >> >> En psql, con \l que codificación te aparece? > >> >> > >> >> Debe ser algún tema relacionado al juego de caracteres, a veces en > >> >> linux conviene convertir a utf8: > >> >> > >> >> reingart=# \l > >> >> Listado de base de datos > >> >> Nombre | Dueño | Codificación > >> >> -----------+----------+-------------- > >> >> reingart | reingart | LATIN1 > >> >> > >> >> reingart=# SET CLIENT_ENCODING = 'LATIN1'; > >> >> SET > >> >> reingart=# create table a (a char(1)); > >> >> CREATE TABLE > >> >> reingart=# insert into a values ('º'); > >> >> ERROR: el valor es demasiado largo para el tipo character(1) > >> >> reingart=# SET CLIENT_ENCODING = 'UTF8'; > >> >> SET > >> >> reingart=# insert into a values ('º'); > >> >> INSERT 0 1 > >> >> > >> >> > >> >> El con linux podés convertir el dump de una codificación a otra con > >> >> iconv: > >> >> > >> >> iconv -f LATIN1 -t UTF8 < entrada.sql > salida.sql > >> >> > >> >> Eso me ha ayudado en ciertas ocasiones, > >> >> > >> >> Sds > >> >> > >> >> Mariano Reingart > >> >> http://www.arpug.com.ar > >> >> http://www.sistemasagiles.com.ar > >> >> http://reingart.blogspot.com > >> > > > > > > -- > Saludos, > Horacio Miranda Aguilera. >