Propriedade Connected do TSQLConnection

10/02/2010

2

Gostaria de deixar essa propriedade sempre em FALSE quando fechar o sistema, mas nao consigo, ja testei ate SQL.Connected := False, mas fecho o aplicacao e abro meu datamodule a propriedade esta TRUE, entao altero manualmente, rodo a aplicacao, fecho vou verificar no datamodule e esta novamente TRUE. Como posso resolver isso ?   Mt Obrigado  
Responder

Posts

11/02/2010

Marcos Iwazaki

Amigo isso acontece pq vc tem em alguma outra tela um DataSet aberto.

Então ele força a abrir novamente o SqlConnection. 
Responder

11/02/2010

Marco Salles

Antes de Aplicar keepconnection = false , aleém é claro do Active para False Antes disso Vc ja foi nas propriedades do seu Server ( SERVIDOR ) e verificou o Numero de conexões que esta ativa apos o terminio da aplicação   geralmente esta abertura no caso do DbExpress é realizado pelo DataSetProvider   Não estou te encorajando a usar o keepconnection = false tem alguns detalhes   ela é ideal para quando o usuário irá trabalhar de forma desconectada, em um conjunto de dados maior, por um longo período de tempo e não se deve usa-la com recurso de packet records   Tente antes disso , colocar todos os CDS desativados ( Active := False )   Abra-os somente em RumTime e Feche-os no OnClose e tb Verifique o Numero de Conexões Ativas do Servidor , qnd abre e qnd fecha o Aplicativo e tb em DesignedTime   Perceba que o Simples Fato de Cds.OPen uma query é executada e a conexão é estabelecida  
Responder

11/02/2010

Felipe Ip

Como vejo o numero de conexoes no servidor ?   Quanto aos CDS abertos realmente tenho muito cuidado com isso, porem o sistema tem muitos CDS em muitos Datamodules, entao corre o risco de algum em determinados momentos ficarem ativos, isso tem um problema muito grande porque o caminho do banco de dados no meu micro (desenvolvimento) é um e no cliente é outro (configurado atraves de um arquivo INI), entao ja viu o problema, ja aconteceu de eu enviar o EXE com o TSQLConnection ativo e o datamodule principal é o primeiro form a ficar ativo, entao retorna erro no cliente porque nao existe o caminho do meu micro. Por essa razao que quero arrumar uma maneira de eu me precaver disso forçando o fechamento do TSQLConnection.     Obrigado
Responder

11/02/2010

Thiago Santana

Filipe quando vc for finalizar sua aplicação, feche todos as tabelas ou CDS! Feche todos os componentes que tem acesso ao banco de dados e por fim defina como false a sua conexão... O fato de que sua conexão está ficando ativa quando fecha é pq existe algum componente forçando que a conexão fique ativa... Vê isso aí que deve resolver este problema! AbraçoO
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira