Query aberta no FireDAC + SQL Server não permite ALTER TABLE
Olá!
Estou com o seguinte problema há algum tempo, se alguém puder ajudar agradeço:
Tenho uma aplicação com FDQuerys abertas ex.("SELECT * FROM Clientes", com RequestLive=False), e ao mesmo tempo, pelo SQL Management tento adicionar uma coluna na tabela Clientes (ALTER "TABLE Clientes ADD NrTeste INT NULL"). Quando mando executar esse ALTER TABLE, fica travado, pois aquela FDQuery fica locando a tabela e só cria essa coluna se fechar a aplicação com a FDQuery que esta usando esta tabela.
Alguém sabe como resolver isso?
Estou com o seguinte problema há algum tempo, se alguém puder ajudar agradeço:
Tenho uma aplicação com FDQuerys abertas ex.("SELECT * FROM Clientes", com RequestLive=False), e ao mesmo tempo, pelo SQL Management tento adicionar uma coluna na tabela Clientes (ALTER "TABLE Clientes ADD NrTeste INT NULL"). Quando mando executar esse ALTER TABLE, fica travado, pois aquela FDQuery fica locando a tabela e só cria essa coluna se fechar a aplicação com a FDQuery que esta usando esta tabela.
Alguém sabe como resolver isso?
Gunnerbrasil
Curtidas 0
Respostas
Alex William
18/07/2019
Olá, amigo.
Quando for dar um select no SQLServer, use "nolock" pra evitar que a seleção tranque a tabela:
Assim acredito que você consiga executar sua alteração enquanto pesquisa.
Espero ter ajudado. :D
Quando for dar um select no SQLServer, use "nolock" pra evitar que a seleção tranque a tabela:
SELECT * FROM Clientes (nolock);
Assim acredito que você consiga executar sua alteração enquanto pesquisa.
Espero ter ajudado. :D
GOSTEI 0
Gunnerbrasil
18/07/2019
Olá, amigo.
Quando for dar um select no SQLServer, use "nolock" pra evitar que a seleção tranque a tabela:
Assim acredito que você consiga executar sua alteração enquanto pesquisa.
Espero ter ajudado. :D
Quando for dar um select no SQLServer, use "nolock" pra evitar que a seleção tranque a tabela:
SELECT * FROM Clientes (nolock);
Assim acredito que você consiga executar sua alteração enquanto pesquisa.
Espero ter ajudado. :D
Obrigado por responder. Já tinha colocado o (NOLOCK,) mas mesmo assim o erro acontece...
Eu consigo dar UPDATEs na tabela e não dá erro, só não consigo fazer o ALTER TABLE funcionar.
GOSTEI 0