PowerBuilder e Oracle 11g

PowerBuilder e Oracle 11g

Overview

Neste post, mergulharemos no mundo da configuração e testagem do PowerBuilder em conjunto com o Oracle 11g. A explore detalhadamente variadas configurações de client, ajustes regionais e peculiaridades do uso de DecimalSeparator. Com uma linguagem descomplicada, mas sem perder o rigor técnico, oferecemos insights cruciais para evitar armadilhas comuns e garantir uma integração suave entre essas duas tecnologias. Se está à procura de uma leitura informativa e leve sobre como otimizar o uso do PowerBuilder com Oracle 11g, este post certamente será de grande valia!

Testando o PowerBuilder com o Oracle 11g, considerando-se todas as configurações de Client, Regional Settings e DecimalSeparator.

1. Client em Inglês e
1.1. Configuração regional em português e decimal separator como “.”, “,” e sem o separator;
1.2. Configuração regional em inglês e decimal separator como “.”, “,” e sem o separator;

2. Client em Português e
2.1. Configuração regional em português e decimal separator como “.”, “,” e sem o separator;
2.2. Configuração regional em inglês e decimal separator como “.”, “,” e sem o separator;

Todos os testes funcionaram com sucesso, mas com algumas observações:

1. É IMPORTANTE que o DBParm contenha: DisableBind=1,StaticBind=1
(Estes dois parâmetros devem vir no começo ou logo após o DecimalSeparator, caso opte por utilizá-lo. Não ocorreram erros no banco de dados);

2. Todos os testes foram feitos respeitando a configuração regional, ou seja, se estava em inglês eu digitava “.” para separar o decimal, se estava em português eu digitava “,”;

3. Com o Client em Inglês, não obtive erro algum, tudo funcionou, mas com o Client em Português e DecimalSeparator = “.”, independente do Configurações Regionais e do separador digitado na tela, o valor enviado pra base não considera a casa decimal, ou seja, se você digita 1.3, vai pra base 13!

Resumindo: Colocando-se DisableBind=1,StaticBind=1 no DBParm, e evitando-se a configuração: Client em português e DecimalSeparator=".", tudo irá funcionar corretamente.

Obs: Para saber se o Client está em inglês ou português, basta executar: “select * from nls_session_parameters;” na estação que se deseja testar. Para saber as configurações do servidor, basta trocar a tabela por nls_database_parameters.