AlmirFS 0 Denunciar post Postado Setembro 13, 2006 Bom dia galera... Precido mandar para formulários informações do BD, mais possuo muitos usuarios Tenho uma tabela com os seguintes campos. COD_CAD, RESULT, NOME, RECIBO, EMIS_D, REF_MES, AGC, VALOR, TIPO_INA, REAPRESENT, TP_ARQUIVO. Preciso lançar estas informações em um form, em fila ordenados pelo maior valor, só que não posso deixar que mais de um usuarios acessem as mesmas informações simutaneamente. Fiquei sabendo de um recurso do MySQL, do qual eu teria que fazer um controle disto na minha aplicação, o MySQL possui a função GET_LOCK que pode mim ser útil. Eu criaria um GET_LOCK para cada registro, e assim os outros usuários não conseguiriam pegar o mesmo lock. Então a minha aplicação, exibiria a mensagem de que o registro já está sendo utilizado por outra pessoa. O meu problema está relacionado a controle de concorrência, portanto eu teria que bloquear os dados durante a inserção para que ninguém os manipule durante a inserção. A sugestão seria fazer o GET_LOCK para fazer este controle, ou seja, eu pegaria um lock para os registros, por exemplo: select get_lock('tabela_id10', 5); Onde tabela_id10, é um identificador único para o registro em questão. Desta forma se alguém tentar dar uma get_lock na mesma string (que identifica o registro), ele não conseguirá e por consequência não fará nenhuma inserção, até que o release_lock('tabela_id10'), seja executado. Mesmo assim não estou conseguindo fazer alguem poderia mim dar uma ajuda ? http://forum.imasters.com.br/public/style_emoticons/default/cry.gif Compartilhar este post Link para o post Compartilhar em outros sites
AlmirFS 0 Denunciar post Postado Setembro 14, 2006 Resolvido!Irei colocar uma coluna na tabela que indica se o registro está sendo utilizado, e no momento que alguém "utilizar" o registro, marca essa coluna como 1 (então se outra pessoa tentar utilizá-lo pode ser feita a verificação na mesma) e quando a pessoa liberar marca essa coluna como 0, por exemplo.Grato! ^_^ Compartilhar este post Link para o post Compartilhar em outros sites