Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gui.php

Recuperando dados

Recommended Posts

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.