Páginas filhas
  • Controle de lock e numeração automática via dbaccess

Ao utilizar as funções LockByName e GetSXENum, o controle de concorrência é realizado pelo License Server.

A partir da Release 2510, com a lib 20251006, este controle poderá ser realizado pelo DBAccess.

Para ativar é necessário rodar a função abaixo pelo programa inicial do client 

totvs.framework.tc.importLsNumber

Para mais informações sobre a rotina, clique aqui.

A utilização do controle do dbaccess é opcional na release 2510 (sendo necessário rodar o wizard acima para ativar)
E obrigatório a partir da release 2610.

Migração de release

  • 2410 → 2510
    • Para clientes onPremisse o controle pelo dbaccess não será ativado na migração.
      • Será necessário rodar o wizard citado para efetuar a ativação
      • uma vez ativo o controle não poderá mais ser desativado.
    • Para clientes cloud totvs, o controle será ativado automaticamente durante a execução do upddistr
      • A execução do upddistr irá executar em background a importação de numeração do LicenseServer para o DBAccess
      • uma vez ativo o controle não poderá mais ser desativado.
  • 2510 → 2610
    • Na release 2610 o controle será obrigatório para todos os clientes
    • Durante o upddistr, caso ainda não esteja ativo o controle no db desse ambiente, irá executar em background a importação de numeração do LicenseServer para o DBAccess
    • Caso o ambiente já esteja usando o controle do dbaccess, o upddistr não fará qualquer mudança nesse aspecto.


Para o usuário final não deve modificar nada no comportamento.

Com o controle feito pelo dbAccess a configuração de specialKey não será mais utilizada para lock.
O controle pelo db já é feito exclusivo por banco de dados conectado.



Validação para utilização do controle do dbaccess

Para poder ativar as chaves o ambiente deve atender alguns requisitos, são eles:

  • Release maior igual 12.1.2510
  • Lib maior igual a 20251006
  • Banco não pode ser sqlite
  • Versão do server deve ser maior igual a 24.3.1.0
  • Versão da DBAPI deve ser maior igual a 20240224-20241217



Redefinição das numerações do DbAccess

Caso precise resetar todas as numerações gravadas no dbacces também é possível:

  • Parar o processo do dbaccess no servidor
  • Na pasta de instalação procurar pelo arquivo _nome-do-banco_dbnumber.val
  • Deletar o arquivo
  • Iniciar o Dbaccess.

Como isso todas as numerações gravadas serão perdidas, e na requisição de uma numeração será utilizada a forma como é hoje, posiciona no ultimo registro da tabela e soma 1 no ultimo código que encontrar.


Assuntos relacionados

  • Sem rótulos