Sybase ASE: “Votre commande de serveur a rencontré une situation de blocage”

Lors de l'exécution d'une procédure stockée (à partir de un .NET application) qui ne une INSERTION et une mise à JOUR, j'ai parfois (mais pas souvent, en fait) et au hasard obtiens cette erreur:

ERREUR [40001] [DataDirect][ODBC Sybase Wire Protocol driver][SQL Server]Votre serveur de commande (famille n ° id 0, id de processus #46) a rencontré une situation de blocage. S'il vous plaît ré-exécuter votre commande.

Comment puis-je résoudre ce problème?

Grâce.

  • Savez-vous ce qu'un blocage est, pourquoi un blocage peut se produire ... et pourquoi cela se produit avec votre code? Avez-vous essayé de Googler comme "sybase" et "blocage"?
  • Oui je sais ce que c'est, oui, j'ai googlé. La chose est, le blocage se produit très rarement. Comme la requête est simple (une mise à jour et un insert), il doit au pire d'être retardée par le serveur si certains autres de la serrure de blocage, pas simplement le jeter. Aussi, l'erreur ne peut pas dire que l'impasse sur (ce tableau, une ligne, etc.) ce qui le rend difficile à résoudre le problème. Je ne peux pas manuellement prévenir 2 requêtes d'arriver sur le serveur en même temps!
  • Un blocage jamais retards d'autres processus, il s'arrête de l'autre processus de mort - j'aimerais en lire plus sur les blocages que vous havn pas fait preuve de compréhension
  • Eh bien, c'est l'ensemble de point d'interrogation. Je suis en train de dire qu'il /doit/ devait être retardée, comme c'est le comportement que l'on attend. Bien sûr, le problème ici est que ce n'est pas le comportement que je reçois, qu'au lieu d'être retardé, il est à l'origine d'un blocage et d'être complètement bloqué.
InformationsquelleAutor Laurent | 2009-07-10