Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Periodic InvalidCastException e O servidor falhou ao retomar a transação com Linq


Isso provavelmente não é um problema com seu código. É um bug no SQL Server. Eles tiveram um problema semelhante no SQL Server 2005. Isso só aconteceu em condições que estavam certas, então poucas pessoas viram e as que viram ficaram muito confusas.

Dito isto, aqui estão algumas coisas para verificar que funcionaram para outras pessoas com o mesmo problema:
  • Procure por DataReaders que não estejam fechados. Certifique-se de estar fazendo myReader.Close() depois de ler as linhas desejadas. Muitas pessoas simplesmente dançam sem fechar.
  • Use a classe SqlTransaction nativa em vez de OleDbTransactions sempre que possível.
  • Veja suas transações. Certifique-se de confirmar/reverter de forma limpa antes de fechar sua conexão.
  • Use Connection.BeginTransation em vez de Connection.BeginDbTransaction