Energie-tabel

Op mijn werk zijn we bezig met het inlezen een energie-tabel in een grote database. Dat is een XML-bestand van zo’n 2,5 GB. Voor de meeste editors is dat veel te groot. Mijn collega heeft het met een linux-commando in stukken van 82 Mb opgeknipt. Ik ben er mee aan de slag gegaan, en ben erin geslaagd een programma te schrijven dat de XML omzet in insert-queries, waardoor regel voor regel het bestand kan worden ingelezen. Tot bestand 6 ging dat vlekkeloos.

Dat zou althans moeten lukken, ware het niet dat ik op wat vreemde zaken ben gestoten. Een van degenen die de data heeft in zitten tikken, heeft vreemde opvattingen over een gebouwcode. Ik versta daar een code van maximaal 5 letters onder, die weer voor iets anders codeert. In het bronbestand zie ik dat diegene daar Pet’s place, Hema en andere winkels heeft ingevoerd. Vreemde opvatting.

Bij iets als Pet’s place is er overigens nog iets anders aan de hand. Bij sql zet je de waardes tussen apostrofs. De apostrof in Pet’s verstoort dit. Niet bepaald handig. Mijn code geeft daardoor een foutmelding.

Het bestaan van deze rare waardes verplicht mij tot het schrijven van een functie die kijkt of de waarde langer is dan de lengte van de veldnaam in de database, en indien dat het geval is de boel leeggooit. Verder moet de functie bagger eruit gooien.

Jammer. Vanwege een onkundig figuur kost het me aanmerkelijk meer moeite om het bestand in te lezen.

Waarom geen inputcontrole, zodat de bagger in elk geval er niet in kan komen.

Advertisements
This entry was posted in Ergernissen. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s