Inquiridor
Comando DELETE no ASP para SQLServer não finaliza

Pergunta
-
Pessoal, tenho uma rotina em ASP, que apaga uma série de registros de uma tabela num banco do SQL SERVER, o problema é que quando executa, NÃO DÁ ERRO, mas não apaga todos os registros que devia (da condição WHERE).
O estranho é que:
- Num banco Access funciona 100%
- Executando na mão, localmente no QueryManager (sem ser por ASP), funciona 100%.
A tabela possui uns 30 mil registros, deveria apagar mais ou menos 50 a 100 que atendem à condição, e o estranho é que vai apagando tipo de 10 em 10 (mandando "re-executar"), e de repente vai uns 50, tem outras vezes que vai apagando de 10 em 10 até o final... de outras apaga logo os 50 ou 60 registros de uma vez só, ou seja, não consegui ver uma "lógica" do porque ísto está acontecendo.
A Tabela é MUITO acessada, ou seja, são muitas querys acontecendo ao mesmo tempo na tabela, mas NÃO NOS REGISTROS a serem apagados...
A rotina é simples:
Code SnippetConnString="Provider=SQLOLEDB;Data Source=" & nomeservidor & ";UID=" & useridaqui & ";PWD=" & senhaaqui & ";DATABASE=" & nomedobanco
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConnString
strSQL = "DELETE from Prod_Loja WHERE (codloja =" & codloja & " AND OK=0)"
Conn.Execute strSQL,,adCmdText + adExecuteNoRecords 'pegando var do adovbs
'Conn.Execute strSQL,,129 'outra tentativa
'Conn.Execute strSQL 'outra tentativaConn.Close
Set Conn = NothingAlguém tem alguma idéia do que pode estar acontecendo?
Estive pensando em ser problema de conectar a tabela de forma exclusiva, sei lá... estou ficando sem idéias!
Um abraço,
Antonio
Todas as Respostas
-
Antonio,
você disse que a tabela é bastante acessada. Enquanto os registros estivessem sendo deletados, não há o risco de outros estarem sendo incluídos ou então terem os seus valores alterados?
Ricardo Oneda
http://oneda.mvps.org/blog -
-