problema com conecao ao banco de dados
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
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
Curtidas 0
Respostas
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?
Talvez eu não tenha entendido direito, mas vc menciona que cada estação possui um banco.fdb?
GOSTEI 0
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
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
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.
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
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...
Segue uma dica instale um máquina virtual para testar seus sistemas em rede...
GOSTEI 0
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
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