Na het converteren van een databestand is het noodzakelijk om deze conversie goed te testen. Immers, zodra de conversie niet helemaal goed is verlopen is er data verloren gegaan die heel vaak niet meer terug is te halen. 

Op welke punten moet je nu letten bij het converteren van een tekstveld? Hierbij een checklist.

Checklist

1 - Controleer of het datatype van het bron- en  resultaat-veld exact hetzelfde is, danwel het resultaatveld de waarde van het bronveld volledig kan bevatten.

Bijvoorbeeld: Zodra een bronveld van het type ‘nvarchar’ (2 bytes per karakter) is en het resultaat-veld van het type ‘varchar’ (1 byte per karakter) dan gaat de conversie zeer waarschijnlijk niet geheel lukken.
Meestal zijn de volgende conversies probleemloos mogelijk:

  • char naar nchar (niet andersom)
  • varchar naar nvarchar (niet andersom)
  • char naar nvarchar (niet andersom)
  • char naar varchar (en andersom)
  • char naar text/blob (en andersom)
  • varchar naar text/blob (en andersom)
  • nchar naar ntext/blob (en andersom)
  • nvarchar naar ntext/blob (en andersom)
  • text naar ntext (niet andersom)
       

2 - Controleer of het resultaat-veld minimaal net zoveel karakters kan bevatten als het bron-veld.

De volgende conversies zijn meestal zonder problemen mogelijk:

  • char(n) naar char(n+)  (niet andersom)
  • varchar(n) naar varchar(n+) (niet andersom)
  • nchar(n) naar nchar(n+) (niet andersom)
  • nvarchar(n) naar nvarchar(n+) (niet andersom)
  • text(n) naar text(n+) (niet andersom)
  • ntext(n) naar ntext(n+) (niet andersom)
     

3 - Controleer of de coderingen (collation) van het bron- en resultaat-veld overeenkomen.

Bijvoorbeeld: Als het bronveld UTF-16 gecodeerd is dan mag het resultaatveld niet UTF-8 gecodeerd zijn.
 

4 - Controleer of de afwijkende letters na de conversie juist zijn

Bij onjuiste collation/codering gaat het hier vaak fout. Bijvoorbeeld: [é], [á], [ù], …
 

5 - Controleer of de tekens ['], ["], [;], [--]  goed zijn ingelezen.

Deze tekens worden ook in SQL queries gebruikt en kunnen bij sommige conversies verloren gaan of zorgen voor vreemde resultaten.
  

6 - Controleer bij een flink aantal records of de lengtes van de bron-waarden en resultaat-waarden overeenkomen.

Soms worden door de gebruikte conversieprogrammatuur de tekstvelden niet geheel geconverteerd maar bijvoorbeeld alleen de eerste 256 of 65535 karakters.
  

7 - Controleer of upper-case en lower-case karakters goed zijn geconverteerd
 

8 - Controleer (indien van toepassing) of voorloop- of naloopspaties goed zijn geconverteerd.
 

9 - Controleer (indien meerdere tekstvelden van de brondatabase zijn samengevoegd) of de resultaatwaarde juist is geconcateneerd (achter elkaar geplakt).

Bijvoorbeeld als tekstveld 1 gevuld is met de waarde ‘256′ en tekstveld 2 met ‘128′ en deze worden in de nieuwe database samengevoegd dan moet het resultaatveld ‘256128′ zijn en niet ‘348′.