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] >