Fórum Erro ao inserir dados com acento - Tamanho inválido. #28642
31/10/2006
0
Estou migrando alguns dados de uma base access para o Oracle 10G Express Edition. A migração da estrutura do banco já está ok. meu problema agora e na carga dos dados. Já fiz um script para extrair os dados do access e jogar para um arquivo onde vou carregá-lo no oracle express.
Ai que está o problema, quando vou fazer esta operação, diz que alguns registros não foram inseridos por terem um tamanho maior que o tamanho máximo permitido. Já verifiquei e isto não procede. Procurei alguma coisa sobre isto na net e achei algumas possíveis soluções, porém nenhuma funcionou ainda.
O CHARSET que está no oracle é AL32UTF8 e pelo que li, este é o problema certo? mas ai que está a dúvida... como alterar o charset, tentei utilizar o comando alter sessio, alter system, mas nada... não consigo alterar o charset do banco.
Estou bastante nervoso já com este problema, espero que possam me ajudar.
Agradeço a atenção de vocês.
Techsoft
Curtir tópico
+ 0Posts
31/10/2006
Rosterne
- update sys.props$ set value = ´VALOR DESEJADO´ where name = ´NLS_NCHAR_CHARACTERSET´;
Para alterar o CHARCATER SET do banco é necessário importar novamente todos os dados.
O AL32UTF8 é multibyte, ou seja, dependendo do idioma, cada caracter pode utilizar 2 ou 3 bytes.
O Oracle trata isso atráves de campos NCHAR, NVARCHAR etc.
Para campos CHAR e VARCHAR é utilizado o NLS_CHARACTERSET, sendo esse single byte.
Para ver esses valores pode-se consultar a DATABASE_PROPERTIES.
Um outro ponto que é caso vc esteja utilizando o import do Oracle, é aconselhável setar a variável NLS_LANG.
Para melhor ajuda-lo, passe o código do erro que está sendo gerado.
De qualquer forma espero ter ajudado.
Gostei + 0
31/10/2006
Techsoft
Pelo SQL Plus não sei exatamente como fazer para executar os scripts, para criar as tabelas, para carregar os dados e etc. Pelo Administrador do banco no browser tenho alguns recursos onde consigo ver os erros, e pq eles ocorrem.
Sabe me dizer o q aconteceu para ele parar de funcionar?
Obrigado!
Gostei + 0
31/10/2006
Rosterne
Para executar um script via sqlplus faça:
- @CAMINHO\ARQUIVO.SQL
Abraço.
Gostei + 0
31/10/2006
Techsoft
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)