Problemas com Oracle 9i e Delphi (dbexpress)

Oracle

29/03/2004

Ola estou com dificuldades ao utilizar campos data em uma base em oracle, pois possuo um sistema que roda com uma base PostGreSQL, e necessido converter para ler banco Oracle.

Os problemas que apareceram foi com os campos data que no Oracle é DD/MMM/YYYY e campos numericos com decimais que o separador decimal é o (.) e preciso utilizar a (,).

Alguem sabe como faço para configurar o banco para utilizar a data como dd/mm/yyyy e os numeros com decimais com (,) como separador decimal.

dessa forma minha conversão não seria tão traumatica até mesmo pelo tempo que tenho para fazer isso.


Marcosdoerner

Marcosdoerner

Curtidas 0

Respostas

Rfpsatin

Rfpsatin

29/03/2004

da uma olhada na view v$parameter e v_nls_parameter (acho). Lá vc encontra as configurações regionais de teu oracle. Vc pode mudar isso setando os novos valores no init.ora. lá vc deve ter um parametro que indica a data e tem um tb que indica o separador decimal. Fale p/ seu DBA dar uma olhada nisso e mudar p/ vc.


GOSTEI 0
Wagnerpb

Wagnerpb

29/03/2004

Caro amigo...
Quando se acessa usando BDE, ela faz a conversão dos caracteres, no caso do acesso via DBExpress, isso não ocorre por isso é necessário setar os parametros...

Coloquei um SQlQuery com a seguinte linha:

ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ´.,´

E no evento AfterConnect do componente SQLConnection chamei o método ExecSQl do SQLQuery, foi a única solução que encontrei...

Tb estou com o mesmo problema nas datas, se vc encontrar uma solução agradeceria se vc repassasse...


GOSTEI 0
Wagnerpb

Wagnerpb

29/03/2004

Olha ai!!! acabei encontrando a solução para os demais casos...

Coloque outro SQLQuery com a seguinte linha:

ALTER SESSION SET NLS_DATE_FORMAT = ´DD/MM/YYYY HH:MI:SS´

E no evento AfterConnect do SQLConnection chame o método ExecSQL dessa Query;


GOSTEI 0
POSTAR