May.14

Vage MS Access exceptions

AccessException.PNGWie kent ze niet, bijzonder vaag omschreven MS Access foutmeldingen in combinatie met een C# applicatie. Onlangs kwam ik er weer 2 tegen van het type, uren staren en dan nog niet begrijpen wat het probleem is. Hier komen ze.

Nummer 1: “Data type mismatch in criteria expression”
Ik kreeg deze melding bij het uitvoeren van een update van een record in mijn MS Access database. Bij insert trad dit probleem niet op. Uiteindelijk na lang zoeken bleek het te maken te hebben met de DateTime velden. Als ik geen DateTime velden meenam in de update was er niets aan de hand. Voor je daar achter bent ben je natuurlijk ff bezig. Wat bleek MS Access vindt het niet leuk als de milliseconds van een DateTime een waarde heeft die anders is dan “0”. Dit geldt echter alleen bij een update statement, voor een insert is het geen probleem en wordt de millisecond waarde gewoon opgeslagen in de database. De waarde is er ook uit te vissen op 1/1000 nauwkeurig. Pffff, is dat unexpected behavior of niet…

Nummer 2: “Operation must use an updateable query”
Hoe vaag… Wat is een updateable query? Ik weet wel wat een update query is en die schoot ik bij het optreden van deze exceptie naar binnen. Een melding als “.mdb file is readonly” zou beter op zijn plek zijn. Readonly vlag van het mdb bestand en de operatie met de updateable query kon ongestoord doorgang vinden binnen de ondoorgrondelijke radars van de motor die Access heet.

Ik hoor je denken: “Ach, gebruik ook gewoon SQL-Server stumper.” 😉

Deel dit Verhaal:
  • facebook
  • twitter
  • gplus

Over Ton Snoei

Een enthousiaste ontwikkelaar in de allerbreedste zin van het woord.

Het aansturen maar vooral coachen van mensen geeft me veel plezier en een leuke uitdaging. Ik houdt me graag bezig met het bouwen van software maar ook met alle anderen dingen die komen kijken bij het vak dat IT heet.

Met als achtergrond ontwikkelaar heb ik veel ervaring met C# .NET en alles wat daarbij komt kijken. Deze kennis komt nog regelmatig goed van pas. Mijn liefde voor ontwikkeling van software is nooit verdwenen en heb mij daarom in het afgelopen jaar meer verdiept in Java, Android, iOS/iPhone/iPad (Monotouch/Xamarin), PHP en Unity 3D development. Ik noem dat altijd maar: "Lego-spelen voor grote mensen" ;-)

Kortom van de grote lijnen naar projecten tot hands-on problem solven.

Laat een reactie achter

Comment