Opa, então : nem é tão difícil de acreditar, essa invenção do demo de 
cursor_sharing <> 'EXACT' tem n+1  bugs relacionados com ela, e tem 
x+1 efeitos colaterais, facilmente eu acredito sim.... Só não entendi 
no caso o seguinte, se o tal "pacote fechado" faz o select e pega o 
valor resultante e guarda numa variável, como é que o CABEÇALHO da 
coluna diferente o influencia ?? Ele chama o sqlplus e grava coisas 
via spool, tipo assim ?

[]s

 Chiappa
--- Em oracle_br@yahoogrupos.com.br, Fernando Silva 
<[EMAIL PROTECTED]> escreveu
>
> Oh meu velho amigo tudo bem c/ vc ??? Quanto tempo ..., tbem faz um 
tempo que estou fora da lista mas retornando agora ..., sobre o q vc 
me disse, acho legal e concordo contigo , o que passa é que é um 
pacote fechado q funciona e neste pacote fechado/neste select ele 
pega este valor e joga para um variavel , mas como vc disse existe n 
formas, mas não quero alterar pacote, dai então fui atras da causa, 
e  é dificil acreditar mas acreditem, trata-se de um BUG da versão 
9.2.0.7 (Bug 4397702)  no que refere-se ao parametro cursor_sharing 
setado para similar  , sendo que vocês podem fazer o teste abaixo ou 
ver o note :
>    
>   Teste 1 -) Query retornando a string maior (s/formataçao)
>    
>   alter system set cursor_sharing =  similar  ; 
>    
>   Teste 2 -) Query retornando a string normal 
>    
>   alter system set cursor_sharing =  exact ; 
>    
>   []s
>    
>   Fernando Guaitoli 
>    
>   
> jlchiappa <[EMAIL PROTECTED]> escreveu:
>           Fernando, mais especificamente : ao que vejo o ** tamanho 
de retorno 
> ** do campo está SIM sendo respeitado (ie, o primeiro campo está 
> retornando aaaaa com 5 caracteres, o segundo o número com três 
> caracteres, o terceiro "TESTE", o quarto está retornando com 10 
> caracteres), tudo como devia... A diferença ao que vejo é o 
CABEÇALHO 
> exibido pelo plus, confere ?? O ponto aí é que quando vc NÃO 
> especifica um alias pra uma coluna resultado de expressão, o plus 
> tenta formatar baseado na expressão, mas esse algoritmo é NÃO 
> DOCUMENTADO, certamente vc está caindo nalguma diferença de versão 
de 
> plus, e/ou de ambeinte de plus (talvez tamanho de linha, separador 
de 
> colunas, alguma coisa). Eu digo pra vc, AO INVÉS de confiar em 
> algoritmo não-documentado e/ou quebrar a cabeça pra ver onde tá 
> diferente, ESPECIFIQUE O CABEÇALHO que vc quer, colocando ALIAS na 
> coluna (e se desejado formate a coluna com o comando COLUMN e a 
opção 
> HEADING), que aí não tem como vc obter resultado diferente em 
> ambiente diferente.
> 
> []s
> 
> Chiappa
> 
> --- Em oracle_br@yahoogrupos.com.br, Fernando Silva 
> <nandobarretos@> escreveu
> >
> > Olá Fabio, 
> > 
> > Na verdade não trata-se de um erro e sim da formatação do 
> tamanho da string a qual é retornada, pois em um Ambiente ela 
retorna 
> em um tamanho e no outro o mesmo select ela retorna c/ a string 
> maior, veja abaixo :
> > 
> > AMBIENTE 1 
> > 
> > SQL> select
> > substr('aaaaaaaaaaa aaaaaaaaaaaaa' ,1,5),to_ char(123) ,'TESTE', 
> lpad('teste' ,10,'-') from dual;
> > 
> > SUBST TO_ 'TEST LPAD('TEST
> > ----- --- ----- ----------
> > aaaaa 123 TESTE -----teste
> > 
> > 
> > AMBIENTE 2
> > 
> > SQL> select
> > substr('aaaaaaaaaaa aaaaaaaaaaaaa' ,1,5),to_ char(123) ,'TESTE', 
> lpad('teste' ,10,'-') from dual;
> > 
> > SUBSTR('AAAAAAAAAAA AAAAAAAAAAA TO_CHAR(123) 'TESTE' LPAD
> ('TESTE' ,10,'-')
> > ------------ --------- --------- -- ------------ --------- -------
--
> --------- -
> > ------------ --------- --------- --
> > ------------ --------- --------- --------- --------- --------- -
> > aaaaa 123 TESTE -----teste
> > 
> > 
> > 
> > 
> > Fabio Santos <santos@> escreveu:
> > 
> > nao vi nenhum erro .
> > 
> > 
> > 
> > Fernando Guaitoli <nandobarretos@> escreveu:
> > 
> > 
> > Pessoal ,
> > 
> > Preciso da ajuda de vocês pois estou com uma pequena dúvida mas 
> neste
> > momento Eu não consigo achar esta tal solucao , é o seguinte , 
> tenho um
> > select com LPAD que funciona em um banco e não funciona no outro, 
o 
> problema
> > não é o LPAD , mas o tamanho da string que esta trazendo, pois no 
> banco XXXX
> > retorna corretamente , já no banco YYYY retorna uma string muito 
> grande e
> > acaba dando o erro para mim no aplicativo, gostaria de saber se 
> existe que
> > mude tão bruscamente este resultado em termos de tamanho de 
> string , vejam
> > abaixo por favor ; 
> > 
> > Obrigado Galera ; 
> > 
> > ########
> > 
> > - executado no AMBIENTE XXXX
> > 
> > SQL> select
> > substr('aaaaaaaaaaa aaaaaaaaaaaaa' ,1,5),to_ char(123) ,'TESTE', 
> lpad('teste' ,10,
> > '-') from dual;
> > 
> > RESULTADO CORRETO :
> > SUBST TO_ 'TEST LPAD('TEST
> > ----- --- ----- ----------
> > aaaaa 123 TESTE -----teste
> > 
> > - executado no AMBIENTE YYYYYYY
> > 
> > SQL> select
> > substr('aaaaaaaaaaa aaaaaaaaaaaaa' ,1,5),to_ char(123) ,'TESTE', 
> lpad('teste' ,10,
> > '-') from dual;
> > 
> > RESULTADO ADVERSO : 
> > SUBSTR('AAAAAAAAAAA AAAAAAAAAAA TO_CHAR(123) 'TESTE' LPAD
> ('TESTE' ,10,'-')
> > ------------ --------- --------- -- ------------ --------- -------
--
> --------- -
> > ------------ --------- --------- --
> > ------------ --------- --------- --------- --------- --------- -
> > aaaaa 123 TESTE -----teste
> > 
> > 
> > 
> > 
> > 
> > 
> > ---------------------------------
> > Novo Yahoo! Cadê? - Experimente uma nova busca. 
> > 
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> 
> 
> 
>          
> 
>        
> ---------------------------------
> Novo Yahoo! Cadê? - Experimente uma nova busca. 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>


Responder a