Muricy 0 Denunciar post Postado Setembro 18, 2006 Tenho um campo na tabela... VARCHAR(7) ou CHAR(7)Ao incluir a palavra "ATENÇÃO" dá erro... MÁXIMO(7) - REAL(9)... como resolver isso???As palavras acentuadas estão ocupando 2 caracteres por letra acentuada. Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Setembro 19, 2006 Muricy, Esse problema é estranho, pode estar ocorrendo algum problema no seu CHARACTER SET, pois efetuei alguns testes e não apresentou nada, olhe: SQL> create table x (a varchar2(7));Table created.SQL> insert into x values ('ATENÇÃO');1 row created.SQL> select vsize(a) from x; VSIZE(A)---------- 7 Abraços, B) Compartilhar este post Link para o post Compartilhar em outros sites
Muricy 0 Denunciar post Postado Setembro 20, 2006 Muricy, Esse problema é estranho, pode estar ocorrendo algum problema no seu CHARACTER SET, pois efetuei alguns testes e não apresentou nada, olhe: SQL> create table x (a varchar2(7));Table created.SQL> insert into x values ('ATENÇÃO');1 row created.SQL> select vsize(a) from x; VSIZE(A)---------- 7 Abraços, B)Realmente esse erro acontece... mas conversando com uns amigos DBA´s resolvi o problema setando a sessão ou o system assim:alter system set nls_length_semantics=char;alter session set nls_length_semantics=char;Dessa forma consigo sem problemas incluir as linhas com a definição de tamanho 7, mas o VSIZE fica 9 Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Setembro 30, 2006 Show de bola... Pode ser as configurações de NLS que estão na instância, passe as configurações: SQL > select * from nls_database_parameters; Abraços, http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites