Re: Copiar tabla binaria desde MS Server

From: marcosrios(at)planet(dot)com(dot)pe
To: Jose Moreira <jgmoreira(at)anda(dot)com(dot)uy>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Copiar tabla binaria desde MS Server
Date: 2014-08-12 20:20:07
Message-ID: 20140812202007.Horde.JCjgChE5GbzrtI8MiFDKVA5@webmail.planet.com.pe
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Estimado Jose,

El OID (identificador unico de cada objeto) es una columna del tipo
integer que contiene un numero único autogenerado e incremental. No es
un tipo de dato. Al momento de crear una Tabla indicas activar o no el
uso de la columna OID mediante WITH (OIDS=TRUE); o WITH (OIDS=FALSE);
respectivamente:

-- Create a table with OID column
CREATE TABLE aircraft
(
name VARCHAR(90)
) WITH (OIDS=TRUE);

En tu caso debes eliminar y crear la tabla sbox correctamente:

CREATE TABLE sbox
(
id integer NOT NULL DEFAULT 0,
data bytea,
CONSTRAINT sbox_pkey PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);

Saludos,

Marcos Rios R.
Arequipa-Perú.

Jose Moreira <jgmoreira(at)anda(dot)com(dot)uy> escribió:

> Estimados,
>
> Escenario: BD origen es MS SQL Server. Tengo una tabla con dos
> columnas: id (tipo int - PK) y DATA (tipo IMAGE, contiene pdf's).
> La bajo como .txt con comando "bcp", la copio a un servidor
> PostgreSQL 9.3. Convierto el .txt de ISO a UTF-8
> Problema: La aplicacion que consulta la base "exige" que el atributo
> DATA en Postgre sea tipo OID (yo puse BYTEA, pero parece que a los
> desarrolladores no les gusta...). Resultado, al copiar el .txt en la
> tabla explota todo.
>
> Ante la imposibilidad de poder cambiar el tipo del atributo DATA,
> tienen idea cómo puedo ingresar datos en formato binario en un OID?
> Se deberia poder hacer por defecto? el archivo requiere otro tipo de
> formateo previo?
>
> Tabla en Postgre:
> aif_test=# \d sbox
> Table "public.sbox"
> Column | Type | Modifiers
> --------+------------------------+-----------
> id | character varying(255) | not null
> data | oid |
> Indexes:
> "sbox_pkey" PRIMARY KEY, btree (id)
>
> Convierto a UTF:
> iconv -f ISO-8859-1 -t UTF-8 SBOX.TXT > SBOX1.TXT
>
> Error:
> [postgres(at)dbfactura01dmz /tmp]$ more subida_postgres_copys_sbox.sql
> COPY SBOX FROM '/tmp/TXT/SBOX.txt' WITH DELIMITER '|' NULL '' ;
>
> [postgres(at)dbfactura01dmz /tmp]$ psql -d aif_test -U aif <
> subida_postgres_copys_sbox.sql
> Password for user aif:
> ERROR: invalid input syntax for type oid:
> "\x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C41434B43464520786D6C6E733D22687474703A2F2F6366652E6467692E6775622E75792220786D6C6E733A6E73323D22687474703A2F2F7777772E77332E6F72672F323030302F30392F786D6C64736967232220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E6365222076657273696F6E3D22312E3022207873693A736368656D614C6F636174696F6E3D22687474703A2F2F6366652E6467692E6775622E75792041434B4346455F5061727465735F3131332E787364223E3C4361726174756C613E3C5255435265636570746F723E3231333130383734303031383C2F5255435265636570746F723E3C525543456D69736F723E3231313331393232303031383C2F525543456D69736F723E3C49445265737075657374613E3435373C2F49445265737075657374613E3C4E6F6D417263683E536F625F3231313331393232303031385F32303134303730375F3332373936342E786D6C3C2F4E6F6D417263683E3C46656348526563696269646F3E323031342D30372D30375431303A30313A30302E3239342D30333A30303C2F46656348526563696269646F3E3C4944456D69736F723E33323739 36343C2F4944456D69736F723E3C49445265636570746F723E393939383C2F49445265636570746F723E3C43616E74656E536F6272653E313C2F43616E74656E536F6272653E3C43616E74526573706F6E64656E3E313C2F43616E74526573706F6E64656E3E3C43616E74434645416365707461646F733E313C2F43616E74434645416365707461646F733E3C43616E7443464552656368617A61646F733E303C2F43616E7443464552656368617A61646F733E3C546D73743E323031342D30372D30375431303A30313A31362E3234362D30333A30303C2F546D73743E3C2F4361726174756C613E3C41434B4346455F4465743E3C4E726F5F6F7264696E616C3E313C2F4E726F5F6F7264696E616C3E3C5469706F4346453E3131313C2F5469706F4346453E3C53657269653E423C2F53657269653E3C4E726F4346453E313030313036353C2F4E726F4346453E3C46656368614346453E323031342D30372D30373C2F46656368614346453E3C546D73744346453E323031342D30372D30375430393A34323A31312E3030302D30333A30303C2F546D73744346453E3C45737461646F3E41453C2F45737461646F3E3C2F41434B4346455F4465743E3C64733A5369676E617475726520786D6C6E733A64733D22687474703A2F2F7777772E77332E6F72672F323030302F30392F786D6C6 473696723222049643D22584D4C5369676E6174757265223E0A3C64733A5369676E6564496E666F3E0A3C64733A43616E6F6E6963616C697A6174696F6E4D6574686F6420416C676F726974686D3D22687474703A2F2F7777772E77332E6F72672F54522F323030312F5245432D786D6C2D6331346E2D3230303130333135223E3C2F64733A43616E6F6E6963616C697A6174696F6E4D6574686F643E0A3C64733A5369676E61747572654D6574686F6420416C676F726974686D3D22687474703A2F2F7777772E77332E6F72672F323030302F30392F786D6C64736967237273612D73686131223E3C2F64733A5369676E61747572654D6574686F643E0A3C64733A5265666572656E6365205552493D22223E0A3C64733A5472616E73666F726D733E0A3C64733A5472616E73666F726D20416C676F726974686D3D22687474703A2F2F7777772E77332E6F72672F323030302F30392F786D6C6473696723656E76656C6F7065642D7369676E6174757265223E3C2F64733A5472616E73666F726D3E0A3C64733A5472616E73666F726D20416C676F726974686D3D22687474703A2F2F7777772E77332E6F72672F54522F313939392F5245432D78706174682D3139393931313136223E0A3C64733A58506174683E0A6E6F7428616E636573746F722D6F722D73656C663A3A64733A536967 6E6174757265290A3C2F64733A58506174683E0A3C2F64733A5472616E73666F726D3E0A3C64733A5472616E73666F726D20416C676F726974686D3D22687474703A2F2F7777772E77332E6F72672F54522F323030312F5245432D786D6C2D6331346E2D3230303130333135223E3C2F64733A5472616E73666F726D3E0A3C2F64733A5472616E73666F726D733E0A3C64733A4469676573744D6574686F6420416C676F726974686D3D22687474703A2F2F7777772E77332E6F72672F323030302F30392F786D6C647369672373686131223E3C2F64733A4469676573744D6574686F643E0A3C64733A44696765737456616C75653E3748345649496D6967416253614A414B5070774D783949594B2B733D3C2F64733A44696765737456616C75653E0A3C2F64733A5265666572656E63653E0A3C2F64733A5369676E6564496E666F3E0A3C64733A5369676E617475726556616C75653E0A5A7A76755A38492F7A7049686D30747951756155614B78382B68724B764B6B6435524F7538412B737452454162373535334E5941673474444657683371385961445050354365426C433949380A79306B5A72324E563073446F684A583251546671576E4F4459724A464638345475583055366961684B36714C545277587870776F42515561734C446852505A474565634D50737468476771740A4 F324C4548524847344A57576B42692F78644D3D0A3C2F64733A5369676E617475726556616C75653E0A3C64733A4B6579496E666F3E0A3C64733A58353039446174613E0A3C64733A5835303949737375657253657269616C3E0A3C64733A583530394973737565724E616D653E434E3D436F7272656F20557275677561796F202D2043412C4F553D534552564943494F5320454C454354524F4E49434F532C4F3D41444D494E495354524143494F4E204E4143494F4E414C20444520434F5252454F532C433D55593C2F64733A583530394973737565724E616D653E0A0A3C64733A5835303953657269616C4E756D6265723E39393332363538303439383935313731393538373131353234353238393130353931333638383C2F64733A5835303953657269616C4E756D6265723E0A3C2F64733A5835303949737375657253657269616C3E0A3C64733A5835303943657274696669636174653E0A4D4949466754434341326D67417749424167495153726D616730645166794E546736474A553933335744414E42676B71686B69473977304241515546414442364D51737743515944565151470A45774A56575445724D436B4741315545436777695155524E5355354A5531525351554E4A54303467546B46445355394F515577675245556751303953556B5650557A45664D4230474131 55450A4377775755305653566B6C44535539544945564D52554E55556B394F53554E50557A45644D427347413155454177775551323979636D5676494656796457643159586C7649433067513045770A4868634E4D5451774E5449324D6A41784F4445335768634E4D5455774E5449324D6A41784F444533576A43426D7A456A4D43454743537147534962334451454A4152595559327876624739770A5A5870415957356B5953356A6232307564586B784454414C42674E5642416F4D4245464F52454578457A415242674E564241674D436B3150546C5246566B6C4552553878437A414A42674E560A42415954416C565A4D52677746675944565151464577395356554D794D544D784D4467334E4441774D5467784B54416E42674E5642414D4D4945465454304E4A51554E4A54303467546B46440A5355394F515577675245556751555A4A54456C42524539544D4947664D413047435371475349623344514542415155414134474E4144434269514B426751437A486D65344D513170323162420A77425146414937507A4A392B426C70536232755A7158447343305A42626E6572584F6F64754A735764416874332B374350516935555A4D665A69515A4C4F5745526841317849472F4C7A63540A4A67353955355932393842426E65796A426156362B33334A7350342F5377664F364C4 645697473436967716850656C61544B716A72716355466F58416B6645547056745561737339346C704C0A5356514E64514944415141426F344942597A434341563877487759445652305242426777466F455559327876624739775A5870415957356B5953356A6232307564586B7744415944565230540A4151482F424149774144414F42674E56485138424166384542414D43412F6777485159445652306C42425977464159494B7759424251554841774947434373474151554642774D454D4245470A43574347534147472B45494241515145417749466F44416442674E5648513445466751552B57684A5042774F446367534C674A575038762B5A34597458793477487759445652306A424267770A466F41554A592F6651792B4F61726F4C766B5A63563143547431472B2F4E6B77564159445652306742453077537A424A42677772426745454159483154774542415151774F544133426767720A4267454642516343415259726148523063446F764C3364336479356A62334A795A573875593239744C6E56354C324E76636E4A6C62324E6C636E51765933427A4C6E426B5A6A4159426730720A426745454159483154774542415151424241634D4255527063324E764D44774741315564487751314D444D774D6141766F4332474B326830644841364C7939336433637559323979 636D56760A4C6D4E76625335316553394462334A795A5739445A584A304C3246755979356A636D77774451594A4B6F5A496876634E415145464251414467674942414E637A6D76446B44474F6A343738490A31504D6661616B556677687233452F7A7279722F4E6249575671716568434B53437761476639776C7A45463438637463564849466756433244724670456C62616F3956506C4F61563231305A0A556230634E65474A485530416857505548334A676A614F4D53507A714A726858793752425A416D6C48493558316B756650313561347A61686A4B68554C556C646D5262664E72434165566F6D0A394E74633776505874636D6D367750534E505579493872506451426E4B4A45313778476264726B7A446C726B324731586F743762674B3838786933356C7455316B4453796E525441334B2B750A4445314A72466F6D3270514A4F71776D3065352F646B376531544B626B496F424A72512F344968617A5347464E3754664E4A4251305A64427A59374F374F46352F6464356C6A3777563747450A545275663639514A554E45307776337A6753755436356246785663626230597448766F44764A436C4F4742647A43374C464B645A4F2B6B694838523975715A5943664F4C6D456838455238710A67555A6E4A654B576D4736534A5678466D43705445442B703658704E724C41346 46F4C6137556F68646A4F68624777484F616B2B55316B4153624765644155674465384678496731437638320A632F3471667446677563305458364541774430316D52416C5651334359332B382F64376853334452484679344F614379795664584E572B2B366B5946456A37516C324974702F5766542B61690A314834454B4E71434B4147434C684D616561334E4242344F487331312F6D425555665546457A3879456A7066327830594F336678623546716F6C4331716331683247516B726E2F6A4E7659630A41794D37755931656B39304B4369393276362B6F53616A7359465945505953506C35795947563039684246744431637671475A64794F6E57684F496E0A3C2F64733A5835303943657274696669636174653E0A3C2F64733A58353039446174613E0A3C64733A4B657956616C75653E0A3C64733A5253414B657956616C75653E0A3C64733A4D6F64756C75733E0A7378356E7544454E61647457776341554251434F7A38796666675A61556D39726D616C77374174475157353371317A7148626962466E514962642F75776A3049755647544832596B47537A6C0A684559514E635342767938334579594F66564F574E766641515A33736F77576C657674397962442B503073487A75697852497262416F6F4B6F543370576B79716F36366E46426146774A48780A4536566256
> 47724C50654A6153306C554458553D0A3C2F64733A4D6F64756C75733E0A3C64733A4578706F6E656E743E415141423C2F64733A4578706F6E656E743E0A3C2F64733A5253414B657956616C75653E0A3C2F64733A4B657956616C75653E0A3C2F64733A4B6579496E666F3E0A3C2F64733A5369676E61747572653E3C2F41434B4346453E"
> CONTEXT: COPY sbox, line 1, column data:
> "\x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C41434B43464520786D..."
> [postgres(at)dbfactura01dmz /tmp]$
>
>
> gracias!!
>
> jose

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Guillermo E. Villanueva 2014-08-14 01:24:39 Re: Actualizar registros en una tabla
Previous Message Hellmuth Vargas 2014-08-11 13:29:33 Re: consulta sobre Data Checksums en replicas