Vraag & Antwoord

Webprogrammeren & scripting

[PHP-SQL] Optimistic concurrency check failed. ....

4 antwoorden
  • Ik heb een PHP website die draait op een SQL2000 database. Er zijn 2 tabellen waar veel in ge-edit, verwijderd en toegevoegd wordt. Nu krijg ik op drukke tijdstippen vaak deze melding (zo'n 8 x per uur ofzo): "Optimistic concurrency check failed. The row was modified outside of this cursor." Dan wordt de SQL database na elke melding voor ca 5 minuten super traag, en kan er weinig meer gedaan worden. Ik open de tabellen SERVER side en gebruik KEYSET methode om hem te openen. Ik heb al zitten kijken op MSDN maar wordt hier niet veel wijzer uit (zij raden aan om KEYSET te openen, maar dat doe ik al). Heeft iemand dit wel eens mee gemaakt? En zo ja, een oplossing zou ik op prijs stellen ;-)
  • zou je geen pessimistic buffering kunnen proberen? http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_foxhelp/html/dgupdating_data.asp (overigens, mijn sql2000 kennis is zeer beperkt- 2 of 3 keer iets mee gedaan).. wellicht kan je de errors uitlezen? http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconaddingreadingrowerrorinformation.asp t.
  • Dan riskeer ik weer het probleem van deadlocks e.d.
  • Weet je ook op welke punten je applicatie deze fout geeft? Zijn dit "dure" bewerkingen zoals veel bewerkingen binnen stored procedures, cursors, triggers of bijvoorbeeld een lang openstaande transaction? Zo ja, dan zou je eens kunnen kijken of je daar winst kan halen. Je kan eventueel de profiler een tijdje mee laten lopen als het niet echt duidelijk is waar de bottle neck ligt. Je hebt het over veel bewerkingen, wat is veel? Heb je daar inzicht in? SQL Server kan op zich voldoende load aan (mits hardware voldoende), ik ken alleen de interface naar PHP niet, dus weet niet of die ondersteuning misschien te wensen over laat.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.