problema com conecao ao banco de dados

Delphi

30/07/2012

ola pessoal, me ajudem numa duvida

configurei o sqlconnection com arquivo INI, normalmente, instalo no meu cliente e funciona normalmente, tanto no servidor como nas maquinas cliente, mas se eu alterar a extrutura das tabelas no banco de dados, tenho que mudar a extrutura em todas as maquinas ou seja tenho que atualizar o banco de dados em todos os terminais cliente da rede tenho que colocar o banco de dados atualizado em todas as maquinas.

Configuro a minha conecção atravez do arquivo ini, estou fazendo algo errado, acho que não pois o sistema funciona normalmente sem dar erro nenhum, somente tendo este comportamento anormal quando altero a estrutura do banco de dados no servidor incluindo ou excluindo campos, sera que e normal isto

desconfio que seja o sqlconnection que no projeto esta ativo, quando executo o programa tenta conecao com o banco de dados localizado na pasta original do sistema, e nao na pasta final do projeto configurado pelo ini (posso ter falado besteira agora) mas tem coerencia, pois em cada terminal quando o programa e rodado primeiramentte ele procura e abre o banco de dados que esta no terminal(pois o sqlconnection esta com sua propriedade action setado como true), e no create do data mudule ele pega a nova configuraçao tentando abrir depois o que esta no servidor.

mas ficou esquisito sem fazer alteracao funciona normal, e so alterar o bd no servidor os terminais param ate que eu altere o bd nos terminais cliente, voltando o sistema a funcionar perfeitamente

esquisito nao e, mas acho que minha suposicao tem fundamento, so queria uma analise suas a respeito do que poderia ser isso, ate hoje sempre cnsegui resolver com a ajuda de voces minhas duvidas

obrigado

edson garcia de melo
Edson Melo

Edson Melo

Curtidas 0

Respostas

William

William

30/07/2012

Edson eu trabalho da seguinte maneira, todas estações possuem só o client do firebird, o arquivo físico Banco.fdb fica no servidor. Então sempre q tenho alterações de estrutura para serem feitas no banco, todos as estações fecham o sistema e atualizo somente o banco.fdb do servidor, depois as estações voltam a acessar o sistema normalmente.

Talvez eu não tenha entendido direito, mas vc menciona que cada estação possui um banco.fdb?
GOSTEI 0
Edson Melo

Edson Melo

30/07/2012

caro wllfl e isto mesmo, fiz um instalador com o inno setup que instala o sistema completo nao importa se e o servidor ou cliente, o nos cliente configuro o arquivo ini para acessar o db no servidor, mas tenho quase a certesa que o problema relatado e de responsabilidade do sqlconnection que fica com a propriedade active como true, mas ai voce diria porque n~~ao muda para false, eu mudo, mas se mecho na estrutura do banco de dados, o delphi ativa sozinho esta propriedade, nao percebo e compilo o sistema com esta opcao true, causando assim o erro.

nao tenho uma rede em casa, para testar isso. so percebo quando estou no cliente instalando ou atualizando o db

por causa disto que e dificil, corrigir e ate mesmo detectar tal defeito. mas pelas coordenadas que passei, acho bem provavel que seja este a causa do defeito.

ate outra hora
GOSTEI 0
Edson Melo

Edson Melo

30/07/2012

caro wllfl, seu relato ta esquisito, voce diz que desliga o sistema na maquina cliente e atualiza o banco de dados no servidor, ai roda o programa nas maquinas cliente e este reconhece o banco de dados.

meu caro amigo, ta estranho, pois se voce atualizou o banco de dados no servidor, voce altomaticamente teria que recompilar o executavel comtendo as alteraçoes do banco de dados, e depois disto atualizar o executavel em todas as maquinas, claro que se voce puxou o atalho do executavel no servidor nas maquinas clientes, ai voce so atualizaria o programa na maquina servidora.

me desculpe pela explicaçao, pois seu post esta sem sentido (eu Entendi o que voce quiz dizer) mas outro que leia pode nao entender. desculpa ta eu so estava completando.
GOSTEI 0
William

William

30/07/2012

Caro Edson, esqueci de mencionar que pode ser feito alerações em procedures e triggers, desse modo não é necessário compilar novamente a aplicação pois esse código é executado diretamente no servidor de banco de dados.

Segue uma dica instale um máquina virtual para testar seus sistemas em rede...
GOSTEI 0
Edson Melo

Edson Melo

30/07/2012

pessoal este e um topico velho e agora vendo ulguns topicos recente me deparei com uma resposta dada pela claudia a um outra questão do forum, e e justamente a resposta que eu queria

para corrigir e so deixar no sqlconnection o campo database limpo ele deve ser carregado em execução, e por isso que tinha que colocar toda vez o db atualizado nas maquinas clientes, ois ele primeiro abre para depois carregar o novo caminho.

sofri muito por causa disso, eu antigamente tinha que atualizar o db en todas as maquinas ara que o programa rodasse, isto e se eu fizesse alterações nos db.

atenciosamente


edson garcia de melo
GOSTEI 0
POSTAR