Caro Luiz,
 
Monte uma Trigger de LOGON com as configurações necessárias de NLS_SORT, 
NLS_NUMERIC_CHARACTERS, NLS_DATE_FORMAT e assim por diante. 
Com isso você garante que sua aplicação irá rodar em qualquer NLS*.
 
Atenciosamente,

Anderson Haertel Rodrigues
Administrador de Banco de Dados
Florianópolis/SC - [EMAIL PROTECTED] 

-----Mensagem original-----
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de Luis Cabral
Enviada em: segunda-feira, 17 de julho de 2006 11:04
Para: oracle_br@yahoogrupos.com.br
Assunto: RE: [oracle_br] Re: Ajuda com conversao de caracteres VARCHAR2->CLOB


Obrigado Chiappa, vou investigar o que vc sugeriu.

Porém, o problema é que a aplicação é desenvolvida aqui, mas temos diversos 
clientes rodando diferentes versoes de Oracle 9i em diferentes sistemas 
operacionais etc. Mesmo que eu consiga resolver o problema aqui alterando 
alguma configuração no front-end, não temos controle sobre o ambiente nos 
clientes (apesar de podermos fazer recomendações). Eu precisava de uma solucao 
mais robusta, independente do front-end, afinal a aplicação vai ser disparada e 
rodar dentro do banco de dados, tendo como resultado o envio de email. 
Basicamente eu só precisava que o valor atribuido ao CLOB mantivesse os 
caracteres acentuados.

Só uma última coisa - o codigo abaixo não deveria funcionar (repare nas 2 aspas 
simples fechando a string) mas aqui funciona sem erro de sintaxe! Vai 
entender...



SQL*Plus: Release 9.2.0.4.0 - Production on Mon Jul 17 15:00:50 2006
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Oracle Data Mining 
options
JServer Release 9.2.0.7.0 - Production

SQL> BEGIN
  2    clob_test(i_text => 'aei - aá eé iía'');
  3  end;
  4  /

PL/SQL procedure successfully completed.



________________________________________
From: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of 
jlchiappa
Sent: 17 July 2006 14:46
To: oracle_br@yahoogrupos.com.br
Subject: [oracle_br] Re: Ajuda com conversao de caracteres VARCHAR2->CLOB

Taí, *** DE CARA *** vc tem no banco NLS_LANGUAGE=AMERICAN e na 
sessão NLS_LANGUAGE=ENGLISH, são DIFERENTES, né não, provavelmente 
VAI ter alguma conversão aí, e se a lígua está diferente, pode ser 
que o characterset também esteja, né não ???? faz o teste com o 
loader e experimente setar as vars de NLS no teu ambiente TODAS 
corretamente cfrme mostrado em outra msg.... 


[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br, "Luis Cabral" <[EMAIL PROTECTED]> 
escreveu
>
> Ai vai...
> 
> SQL> select * from nls_session_parameters;
> 
> PARAMETER                          VALUE
> ---------------------------------- ---------------------------------
--------NLS_LANGUAGE                       ENGLISH
> NLS_TERRITORY                      UNITED KINGDOM
> NLS_CURRENCY                       £
> NLS_ISO_CURRENCY                   UNITED KINGDOM
> NLS_NUMERIC_CHARACTERS             .,
> NLS_CALENDAR                       GREGORIAN
> NLS_DATE_FORMAT                    DD-MON-RR
> NLS_DATE_LANGUAGE                  ENGLISH
> NLS_SORT                           BINARY
> NLS_TIME_FORMAT                    HH24.MI.SSXFF
> NLS_TIMESTAMP_FORMAT               DD-MON-RR HH24.MI.SSXFF
> NLS_TIME_TZ_FORMAT                 HH24.MI.SSXFF TZR
> NLS_TIMESTAMP_TZ_FORMAT            DD-MON-RR HH24.MI.SSXFF TZR
> NLS_DUAL_CURRENCY                  â'¬
> NLS_COMP                           BINARY
> NLS_LENGTH_SEMANTICS               CHAR
> NLS_NCHAR_CONV_EXCP                FALSE
> 
> 
> Obrigado!
> Luis
> 
> 
> 
> ________________________________________
> From: oracle_br@yahoogrupos.com.br 
[mailto:[EMAIL PROTECTED] On Behalf Of jlchiappa
> Sent: 17 July 2006 14:08
> To: oracle_br@yahoogrupos.com.br
> Subject: [oracle_br] Re: Ajuda com conversao de caracteres VARCHAR2-
>CLOB
> 
> Como já dito algumas vezes e agora será repetido, os params NLS do 
> database servem como DEFAULT, ie, serão usados ** APENAS ** SE e 
> somente SE o cliente não fornecer nada... Manda aí um select * from 
> nls_session_parameters; conectado com esse cara onde vc está 
tentando 
> executar a procedure....
> 
> []s
> 
> Chiappa
> --- Em oracle_br@yahoogrupos.com.br, "Luis Cabral" <[EMAIL PROTECTED]> 
> escreveu
> >
> > Olá a todos
> > 
> > Considerem a seguinte procedure:
> > 
> > 
> > create or replace procedure clob_test(i_text in varchar2) IS
> > v_text CLOB;
> > BEGIN
> >       v_text := i_text;
> > 
> >       dbms_output.put_line(v_text);
> > end clob_test;
> > 
> > 
> > Teste da procedure:
> > 
> > BEGIN
> >   clob_test(i_text => 'aei x áéí');
> > end;
> > 
> > 
> > O resultado é:
> > 
> > aei x �
> > 
> > 
> > Gostaria que o conteudo do CLOB refletisse o conteudo do 
parametro.
> > 
> > O que esta errado/faltando? Parece ser algo na conversao de 
> varchar2 para CLOB, mas nao consegui encontrar a solucao em lugar 
> algum.
> > 
> > Obrigado
> > Luis
> > 
> > --
> > 
> > Oracle 9.2.0.7.0
> > 
> > SQL> select * from nls_database_parameters;
> > 
> > PARAMETER                      VALUE
> > ------------------------------ ----------------------
> > NLS_NCHAR_CHARACTERSET         UTF8
> > NLS_LANGUAGE                   AMERICAN
> > NLS_TERRITORY                  AMERICA
> > NLS_CURRENCY                   $
> > NLS_ISO_CURRENCY               AMERICA
> > NLS_NUMERIC_CHARACTERS         .,
> > NLS_CHARACTERSET               UTF8
> > NLS_CALENDAR                   GREGORIAN
> > NLS_DATE_FORMAT                DD-MON-RR
> > NLS_DATE_LANGUAGE              AMERICAN
> > NLS_SORT                       BINARY
> > NLS_TIME_FORMAT                HH.MI.SSXFF AM
> > NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM
> > NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR
> > NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZR
> > NLS_DUAL_CURRENCY              $
> > NLS_COMP                       BINARY
> > NLS_LENGTH_SEMANTICS           CHAR
> > NLS_NCHAR_CONV_EXCP            FALSE
> > NLS_RDBMS_VERSION              9.2.0.7.0
> >
>





 



[As partes desta mensagem que não continham texto foram removidas]



--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__________________________________________________________________
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o 
link do mesmo para evitar trafego(pedidos) desnecessário. 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a