Migração entre bancos

Opa

To migrando dados de um oracle pra um postgres, mas me deparei com uma tabela que possui um campo do tipo imageraw… e não sei qual seria o campo mais adequado para eu usar em uma tabela postgres, já que não tenho esse formato disponível.

Consigo fazer a migração legal de todos os quase 13000 registros, só que em dois deles, ocorre problema… de memória, segundo o java, mas este só ocorre no momento no insert para o postgres, ou seja, é algum problema na hora de inserir…

sei lá…

se alguém puder dar uma luz…

:smiley:

valeu!

É uma imagem como arquivo puro? Procure ver se BLOB não substitue.

Até!

Cara… te confesso que no pgAdmin 1.6.1, não encontrei esse tipo de campo como opção… encontrei outros milhares, mas este não… estarei eu ficando louco? hehehehe…

valeu…

Minha busca persiste…

Você precisa fazer uma análise do tamanho das imagens antes de tomar essa decisão.

existem duas arquiteturas no PostgreSQL que você pode usar, são elas:

bytea - arquivos e objetos binários com até 1Gb aproximadamente.

ou use a api large_objects que permite tamanhos maiores…

http://jamesthornton.com/postgres/7.4/jdbc-binary-data.html

fw

Desculpe, o nome no PgSQL é bytea.

Até!

Ah… agora funcionou… é o bytea mesmo…

valeu pessoal…

:lol:

Opa… vou aproveitar o mesmo tópico, pra não ficar abrindo outros com assuntos iguais.

Eu tenho uma informação dentro do meu oracle que possui um tamanho mto grande, e não consigo fazer a migração dela para o postgres…

Quando eu faço a migração, isso ocorre com dois registros…

Nestes registros acontece o seguinte erro:

[quote]Exception in thread “main” java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2882)
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)
at java.lang.StringBuilder.append(StringBuilder.java:119)
at InserePostgres.insereQuantidade(InserePostgres.java:32)
at ConexaoOracle.main(ConexaoOracle.java:62)[/quote]

Até onde eu sei, isso é quando estoura o limite de memória do java.

Eu acredito que este problema ocorra devido ao tamanho do meu registro… talvez exceda a capacidade do tipo String… não sei…

Se for isso, que outro tipo de dado posso utilizar?

Valeu pessoal.

Que tipo de dados você tem no Oracle para ele estar tentando passar para String?

Tente ver se não é possível utilizar Streans no lugar, que é mais recomendável para campos do tipo BLOB, CLOB, BIGTEXT etc.

ou tente aumentar a memória disponível da VM para sua aplicação, veja os parâmetros -Xms192m -Xmx512m.

até

Dieval