Fórum Programa em rede como devo fazer... #282555

21/05/2005

0

Estou desenvolvendo um programa em Delphi 6 que possui 18 clientes e um servidor...com mysql instalado na versaum 4.0....no programa uso os componentes da paleta Zeus 6.0...uso um zQuery e um ZUpdate para a conexão...
o meu problema é:
1. qndo um usuario esta inserindo informação em uma tabela o outro naum consegue abrir a tabela, qndo clica o sistema fica parado por uns 30 seg...e ae da um erro dizendo q o tempo de espera acabou e pede para reiniciar a transacao, detalhe isto acontece em algumas tabelas, existem tabelas em q é possivel inserir informação nas mesma tabela ao mesmo tempo em terminais diferentes e naum da erro nenhum.......
2. qndo um usuario esta usando uma tabela e o sistema da algum erro q acaba tendo q reiniciar o sistema....ae o problema c agrava....ae aquela tabela q o usuario estava usando fica travada e eu so consigo liberar ela reiniciando o mysql no servidor....

gostaria de saber o seguinte.....
1. como devo programar o sistema no momento de abrir, editar, salvar e excluir os dados em uma tabela naum travando outros usuarios ou pelo menos dando um aviso para o outro usuário q ele naum pode efetuar alterações naquele momento mas possa visualizar pelo menos....
2. q tipo de transação devo usar para tabelas innodb....readcommited, repeattable, etc....ql é a melhor e ql a diferença....
3. estou trabalhando assim:
3.1. tenho um componente zConnection com autocommit=false, transactIsolation=ReadCommitted ae eu faço um select do registro q preciso....faço as alterações e depois q salvo faço assim
zTabela.ApplyUpdates;
zTabela.CommitUpdate;
zConnection.Commit;
esta certo fazer desta maneira?
4. preciso de informações sobre como programar em rede, q logica usar....o conhecimento q tenho adquiri com o tempo mas agora eu naum tenho mais tempo preciso resolver isto logo......

em fim pessoal preciso muito da ajuda de vcs...ja fazem 14 meses q estou trabalhando neste projeto....mas ele da umas travada pelo menos uma vez por dia....assim eu naum consigo deixar o sistema rodando em outros clientes....pq o sistema so roda bem c eu estiver por perto para resolver os probleminhas....


Profjohnny

Profjohnny

Responder

Posts

23/05/2005

Profjohnny




Responder

Gostei + 0

23/05/2005

Silviogs

Olá amigo


o probela é o MySql,Interbase e Firebird precisam para cada Zquery um ZUpdate em Transation, já no caso do Postrgree e SQLServer criam os transations em tempo de execução. Evitando esse travamento.

Atenciosamente

Silvio Guedes


Responder

Gostei + 0

23/05/2005

Profjohnny

Entaum quer dizer q c eu usar o PostGree no lugar do MySql eu naum vou mais ter problemas com o travamento do sistema...e naum vou precisar reprogramar o meu sistema....???

Mas o q vai acontecer c um usuario estiver alterando um registro e o outro usuario inserindo um registro ao mesmo tempo na mesma tabela onde antes estava travando....???

estarei no aguardo....


Responder

Gostei + 0

24/05/2005

Profjohnny

Tem mais uma coisinha.....estou trabalhando com tabelas Innodb...pq uso o método transacional e preciso usar desta forma....tem algum outro tipo de tabela q seria melhor???


Responder

Gostei + 0

25/05/2005

Profjohnny

Pessoal to precisando muito mesmo deste help...c alguem puder ao menos me indicar onde posso encontrar artigos ou infos q falem a respeito ....eu agradeceria....


Responder

Gostei + 0

25/05/2005

Silviogs

Olá amigo

há uns cinco meses instalei um sistema de distribuição de processos onde à média dia de cadastros são 50 processos e mensalmente a média de 909, sem contar com as alterações, exclusões e movimentações que o sistema efetua. Com cinco (05) estações no setor onde o sistema está instalado, e até a presente data não recebi qualquer reclamação de que o sistema tenha travado em suas transações no Banco de Dados.

Obs: o horário de funcionamento do setor começa às 07:00 e termina às 18:00h sem fechar para almoço.

Uso Delphi7, ZeosLib, Postgres 8.1 windows 2003 server.

Atenciosamente,

Silvio Guedes


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar