Ongedierte

Ongedierte

Code debuggen kan leuk zijn. Dat moment waarop je de oplossing voor de problemen ziet. Dat moment waarop alles werkt zoals het hoort te werken. Maar soms vind je de oplossing waar je ze niet verwacht.

Scripts includen

Na veel trial & error werk om de bestaande webpagina’s en scripts te doorgronden blijft er een hardnekkige Javascript-error opduiken. Spijtig genoeg werkt deze applicatie enkel onder Internet Explorer en moet ik het stellen met de generieke foutboodschap Object expected en een lijnnummer. Eerst moet ik er nog even voor zorgen dat ik ook de HTML source kan bekijken.

Het blijft puzzelen. Op een andere pagina wordt exact dezelfde code gebruikt, maar hier werkt alles perfect. Waar kan het dan aan liggen? Aan het includen van het Javascript bestand. In de pagina met fouten werd <script type="text/javascript" src="script.js" /> gebruikt. Internet Explorer vindt dit niet leuk. Gebruik dus altijd <script type="text/javascript" src="script.js"></script>, en zoek, net zoals mij, eerst naar dit code-fragment wanneer je andermans webpagina’s en scripts moet gaan bewerken.

Database drivers

Stel je voor dat je op 2 omgevingen, hoewel je met identieke data werkt, andere resultaten krijgt. Bijvoorbeeld een numerieke 0 als resultaat van een query op de eerste omgeving, een NULL op de tweede omgeving. Je mag er wel van uit gaan dat het probleem bij de configuratie ligt, maar waar? Je mag zelfs stellen dat het probleem bij de database drivers ligt. Deze zijn op het eerste zicht echter dezelfde: ze dragen immers hetzelfde versienummer.

Kijk nog wat dichter en merk dat de tweede driver een maand later werd gebundeld dan de eerste. Gebruik de tweede driver op beide omgevingen en het probleem is opgelost. Bedankt Oracle.

Temporary tables en auto commit

Een laatste tip: als je weet dat er in de database tijdelijke tabellen worden gebruikt en je krijgt de mooie foutboodschap ORA-08103: object no longer exists, zet dan auto commit af.

Dit artikel werd opgenomen in ontwikkeling.


2 reacties

  1. Avatar van Marco Marco 12 Oct 2005 15:16

    Dat script voorbeeld heeft mij eens een hele dag gekost!
    Toen ik uit pure ellende de meest achterlijke dingen begon te proberen (waaronder de oplossing) kwam ik er pas achter.

    Wat een ellende zeg! Inderdaad een goede tip voor anderen!

  2. Avatar van Bart N. Bart N. 18 Oct 2005 06:15

    Het includen van Javascript is inderdaad zo een van die bugs waar je lang op kan zoeken … met de rest heb ikgeen ervaring.