Erro ao inserir dados com acento - Tamanho inválido.
Pessoal,
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.
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
Curtidas 0
Respostas
Rosterne
31/10/2006
Olha vc pode alterar o character set da seguinte forma:
- 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.
- 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
Techsoft
31/10/2006
Renato, isso que você passou ai pra mim funcionou, porém, ao fazer esta alteração o Oracle Express não abre mais o browser para administração do banco, somente consegui acessar através do SQLPlus.
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!
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
Rosterne
31/10/2006
Qual erro esta dando no browser?
Para executar um script via sqlplus faça:
- @CAMINHO\ARQUIVO.SQL
Abraço.
Para executar um script via sqlplus faça:
- @CAMINHO\ARQUIVO.SQL
Abraço.
GOSTEI 0
Techsoft
31/10/2006
Ele não abre, como se o caminho q ele chama não existisse.... bom, mas agora não estou na empresa, amanhão vou testar executar os scripts pelo SQLPlus para ver se vai dar certo.
GOSTEI 0