gui.php 0 Denunciar post Postado Dezembro 21, 2006 Olá!Estou com o Client do 9i e só ele conseguiu resolver meu problema de performance. A instalação completa me possibilitou alta velocidade com o Oracle XE Server. Quero saber o seguinte:Quando eu seleciono tabelas, ele me responde dados financeiros com o centavo zerado. Isso foi resolvido mudando uma opção de "Use Oracle NLS settings" para "Use US setttings".Só que tem um porém: no client do 9i não tem essa opção na hora da criação da conexão ODBC.O que tenho q fazer para terminar esse problema?Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Dezembro 23, 2006 Pode ser algum problema nas configurações regionais do seu CLIENT Ou também poderá resolver alterando parâmetros em nível de sessão ao logar, exemplo: SQL> create table TESTE_MONETARIO (a number(8,2), b varchar2(10));Tabela criada.SQL> insert into TESTE_MONETARIO values (24343.32,'CARRO');1 linha criada.SQL> insert into TESTE_MONETARIO values (53235.64,'CASA');1 linha criada.SQL> insert into TESTE_MONETARIO values (45332.78,'CELULAR');1 linha criada.SQL> commit;Commit concluÝdo.SQL> l 1* select * from nls_database_parametersSQL> /PARAMETER VALUE------------------------------ ------------------------------NLS_LANGUAGE AMERICANNLS_TERRITORY AMERICANLS_CURRENCY $NLS_ISO_CURRENCY AMERICANLS_NUMERIC_CHARACTERS .,NLS_CHARACTERSET AL32UTF8NLS_CALENDAR GREGORIANNLS_DATE_FORMAT DD-MON-RRNLS_DATE_LANGUAGE AMERICANNLS_SORT BINARYNLS_TIME_FORMAT HH.MI.SSXFF AMNLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AMNLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZRNLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZRNLS_DUAL_CURRENCY $NLS_COMP BINARYNLS_LENGTH_SEMANTICS BYTENLS_NCHAR_CONV_EXCP FALSENLS_NCHAR_CHARACTERSET AL16UTF16NLS_RDBMS_VERSION 10.2.0.1.020 linhas selecionadas.SQL> select * from TESTE_MONETARIO; A B---------- ---------- 24343,32 CARRO 53235,64 CASA 45332,78 CELULARSQL> select to_char(a,'99G999D99'), b from TESTE_MONETARIO;TO_CHAR(A, B---------- ---------- 24.343,32 CARRO 53.235,64 CASA 45.332,78 CELULARSQL> alter session set NLS_NUMERIC_CHARACTERS = '.,';SessÒo alterada.SQL> select to_char(a,'99G999D99'), b from TESTE_MONETARIO;TO_CHAR(A, B---------- ---------- 24,343.32 CARRO 53,235.64 CASA 45,332.78 CELULARSQL> select to_char(trunc(a,0),'99G999D99') , b from TESTE_MONETARIO;TO_CHAR(TR B---------- ---------- 24,343.00 CARRO 53,235.00 CASA 45,332.00 CELULARSQL> select to_char(trunc(a,2),'99G999D99') , b from TESTE_MONETARIO;TO_CHAR(TR B---------- ---------- 24,343.32 CARRO 53,235.64 CASA 45,332.78 CELULAR Resumindo, você pode utilizar as configurações REGIONAIS de cada client, podendo optar por PT, EN e etc.. porém, para evitar esses tipos de problemas, existe o comando ALTER SESSION SET + os parâmetros de NLS do banco de dados, como mostrou acima que podem padronizar seus formatos númericos e datas. Faça alguns testes utilizando os exemplos passados e veja se resolva. Abraços, http://forum.imasters.com.br/public/style_emoticons/default/natal_dry.gif Compartilhar este post Link para o post Compartilhar em outros sites