Mi az a határolt és fix szélességű fájl?
A fájl minden sora egy adatsort jelöl, de ezek az adatok általában mezőkre vagy oszlopokra vannak osztva. Két szabványos módszer határolja be a mezőket. Az egyik az, hogy fix hosszúságú mezők legyenek, és ezért fix hosszúságú rekordok; a másik, hogy változó hosszúságú mezők legyenek változó hosszúságú rekordokkal. A változó hosszúságú mezőket egy szimbólummal kell elválasztani, amely a határoló. A változó hosszúságú rekordokból álló adatbázis egy elválasztott fájlt, a fix hosszúságú rekordokat tartalmazó adatbázis pedig egy rögzített szélességű fájlt hoz létre.
Elválasztójelek
A tagolt fájl leggyakoribb formája a vesszőt használja mezőelválasztóként. Ezeket a fájlokat vesszővel elválasztott értékek (CSV) fájloknak nevezzük. A vessző alkalmas numerikus adatokra, de problémákat okozhat a szöveggel kapcsolatban. További határolójelek közé tartozik a szóköz (" ") sáv ("|") vagy kalapjel ("^"). A fájltervezőnek vagy programozónak olyan karaktert kell találnia, amelyet ritkán használnak az adatokban. Néha szükséges lehet karakterek kombinációjának használata.
Javított mezők
Nem mindig garantálható, hogy egy karaktert soha ne használjunk fel a fájlokban tárolandó adatokban, ezért a megfelelő határoló megtalálásának nehézsége a fix hosszúságú mezőket előnyösebbé teheti. Ez a formátum többletköltséget jelent mind a tárolás, mind a feldolgozás során, így az elválasztott fájlok gyakoribbak. Egy rögzített hosszúságú mezőt ki kell tölteni. A kitöltés leggyakoribb formája a bal oldali kitöltés nullákkal a numerikus adatokhoz és a jobb oldali kitöltés szóközökkel a szöveghez.
Eljárások
Függetlenül attól, hogy egy fájl fix szélességű, vagy elválasztott mezőket tartalmaz, az író- és olvasóprogramoknak ugyanazokat a konvenciókat kell követniük. A rögzített szélességű fájlt fogadó programnak először ismernie kell az egyes fájlok hosszát és adattípusát. A határolt fájlokat fogadó programnak ismernie kell a keresendő határolót.
Elutasított rekordok
Az importáló programoknak minden esetben rendelkezniük kell kivétel-jelentési eljárásokkal, amelyek az elutasított rekordokat külön fájlba írják ki. A lehatárolt rekordok elutasításának leggyakoribb oka az, hogy az elválasztójel megjelenik az adatokban, és extra oszlopokat hoz létre. A rögzített szélességű rekordokat általában elutasítják, mert túl hosszúak. A rövid feljegyzések általában nem okoznak hibát. Az utolsó mezők lakatlanok lesznek. Ha az utolsó mezők kitöltése kötelező, a rövid rekordokat a rendszer elutasítja.