ADOConnection x ORACLE

Delphi

27/09/2005

Pessoal,
Reparei que utilizando o componente ADOConnection da paleta de componetes, quando altero a propriedade CONNECTED para false, a sessão fica ativa no Oracle por aproximadamente 40 a 60 segundos (que uma eternidade qdo se tem poucas sessões disponíveis).
Minha dúvida é: no momento em que a propriedade CONNECTED vai para false a sessão do banco deveria ser finalizada imediatamente, certo? Devo configurar alguma propriedade para que isso aconteça ?

obriagado a todos,

Rodrigo


Mrsilva.rodrigo

Mrsilva.rodrigo

Curtidas 0

Respostas

Mrsilva.rodrigo

Mrsilva.rodrigo

27/09/2005

sobe


GOSTEI 0
Bon Jovi

Bon Jovi

27/09/2005

Posso tentar te ajudar, mas como faço pra ver se a sessão está ativa no Oracle? Uso o 8i. E outra coisa, vc testou tanto com OLE DB provider da Microsoft qto o da própria Oracle? Senão, teste com o q não tenha usado, pra ver se não ocorre isso.


GOSTEI 0
Bon Jovi

Bon Jovi

27/09/2005

Consegui ver a sessão. Esse lance está acontecendo por causa do recurso de pooling de conexões do OLE DB. Mas pra casos que seja melhor desabilitar isso, adicione o seguinte parâmetro na ConnectionString:
;OLE DB Services=-4


GOSTEI 0
Mrsilva.rodrigo

Mrsilva.rodrigo

27/09/2005

Bon Jovi,

Alterei a string conforme vc disse e funcionou perfeitamente.
Muito obrigado pela dica.

grande abraço,

Rodrigo.


GOSTEI 0
Letb

Letb

27/09/2005

Olá pessoal. A minha dúvida não tem tanto a ver com o tópico, mas como estou vendo que vocês também lidam com Oracle, Delphi e ADO talvez possam de ajudar.

Tenho uma aplicação em Delphi 6 que utiliza ADO e SQL Server. Até ai tudo bem, conexão com performance boa. Dai um novo cliente queria usar a aplicação, porém com Oracle 9.

Além da configuração básica no UDL, tive que customizar trilhões de Querys, pois haviam diferenças e ainda, parametrizando para que pudesse continuar a funcionar com o SQL Server onde já está implantado.

O grande problema é que a performance ficou, desculpem a palavra, uma merda. Lerdíssimo. E depois disso tudo o cliente disse que se eu não ser um jeito ele não vai ficar com a aplicação, mole?

Pensei em mudar para DBExpress, mas teria que fazer outro tilhão de alterações e nem sei se a performance seria adequada, além de que me disserma que o ADO em SQL Server roda bem mais rápido que o DBExpress, ou seja, ainda corro o risco de piorar os outros clientes que usam o SQL Server.

Eu queria manter o OLEDB e ADO, pois acho que deveria haver uma performance boa. O problema não é o servidor do cliente, que usa outra aplicação (web com Java) e roda muito bem, além de ser um Xeon duplo processado de 3.2 Ghz cada processador e 2Gb de memória...

Agradeço qualquer ajuda.

Um abraço


GOSTEI 0
Bon Jovi

Bon Jovi

27/09/2005

Qual provider OLE DB está usando, da Microsoft ou da própria Oracle? Prefira o da Oracle.

Oracle com dbExpress é um pouco mais rápido. SQL Server com dbExpress acho tão rápido como com ADO. Lembrando que dbExpress também usa OLE DB pro SQL Server. Mas mesmo assim prefiro ADO na maioria dos casos. Faça testes antes de sair mudando. E antes de tudo otimize suas querys, veja tb onde é necessário criar índices, etc.


GOSTEI 0
POSTAR