Egy rakodó segítségével orákulum

Az Oracle Loader

  • szinopszis
  • Létrehozása vezérlő fájl
  • Hozzon létre egy adatfájlt
  • adatok betöltése
  • Adatok betöltése nélkül adatfájloké
  • Loading adatformátum DATE
  • Bevitele NULL értékeket

Annak érdekében, hogy az Oracle Loader, akkor létre kell hozni egy ellenőrző fájl, amely meghatározza, hogy az adatokat be kell tölteni az adatbázisba; adatfájlt, hogy milyen adatokat kell betölteni az adatbázisba. Ez a rész leírja, hogyan lehet létrehozni egy ilyen fájlokat.

Létrehozása vezérlő fájl

Normál kontroll fájl szerkezete a következő:

  • <имяФайлаДанных> - ez az adat fájl neve. Ha nincs kiterjesztése, az Oracle úgy alapértelmezett kiterjesztés (.dat). Ha a fájl egy másik kiterjesztése, meg kell külön megadni.
  • <имяТаблицы> - Íme egy táblázat, ahol az adatok lesz hozzá. táblázatot kell létrehozni, mielőtt végrehajtaná a betöltési művelet.
  • Kulcsszó jelzi, hogy az adatokat hozzá kell adni a tábla nevét <имяТаблицы>. Ha a APPEND kulcsszó kimarad az asztal elvégzése előtt a betöltési művelet üresnek kell lennie, különben nem fog hibát generál
  • <разделитель> Ez határozza meg, mint külön kell adatfájlt egymástól oszlop értékeit. A szeparátor lehet egyetlen karaktert. Általában használt, mint egy elválasztó, olyan jellegű, hogy nem lehet jelen, mint egy értéket oszlopon.
  • Listája oszlop nevek (attribútumok) asztal <имяТаблицы> - Ez az oszlop nevek kell betölteni egy fájlt. A lista zárójelben, a neveket vesszővel elválasztva. A lista nem feltétlenül az összes oszlopot a táblázatban, a sorrendben a felvétel nem feltétlenül az, amelyik a táblázatban. Sqlldr megkeresi illő nevek a listán a szerkezet a tábla nevét. Minden oszlop, akiknek a neve nem szerepel a listán NULL,

    Példa kontroll test.ctl fájl:

    Hozzon létre egy adatfájlt

    Minden sor a fájl adatait - az adatok, hogy lesz egy string (tuple) a táblázat betöltés után. Minden sor tartalmaz egy listát oszlopban (attribútumok), az értékek vannak elrendezve ugyanabban a sorrendben, mint az oszlop nevét az oszlop nevét listát a vezérlő fájlt, az értékek vannak osztva <разделителем>, meghatározott ellenőrző fájlt.

    Például teszt.dat adatállomány lehet:

    Emlékezzünk, hogy a lista oszlopok (attribútumok) meghatározott test.ctl - (i, s), ahol I. oszlopában int típusú, oszlop s - shar (10). Ezért ennek eredményeként adatok letöltésére teszt.dat fájlt a táblát, adjuk hozzá a következő sorokat (tuple)

    Figyelmeztetés: Kérjük, vegye figyelembe, hogy a harmadik sorban teszt.dat egy hely után „|”. Ez a különbség nem veszi figyelembe a rakodó. Az érték lehet betölteni az attribútum s - „BAZ”, négy karakterlánc a kezdeti hely. Tévedés azt hinni, hogy lesz betöltve „BAZ” (három karakterlánc nem vezető terek) helyett. Ez problémákhoz vezethet, melyek nem figyel, amíg meg nem próbálja lekérdezni az adatokat feltölteni, mert a „BAZ” és a „BAZ” - különböző vonalak.

    A betöltő úgynevezett Oracle sqlldr. Ez UNIX parancs, ezért hívják a UNIX helyett SQLPlus. A parancs formátuma a következő:

    Minden paraméter a parancs nem kötelező, azok hiányában a rendszer kérni fogja a felhasználói név, jelszó, a neve a vezérlő.

    - a neve az ellenőrző fájlt. Ha a név megadva kiterjesztés nélküli sqlldr hozzá egy alapértelmezett kiterjesztése „.ctl”. Az adatok a fájl nevét a parancs nincs megadva, a ez a vezérlő. - a neve a naplófájl. Ha a név megadva kiterjesztés nélküli sqlldr hozzá egy alapértelmezett kiterjesztése „Napló”. Ez a fájl kerül a munkaterhelés művelet, mint például a több betöltött sorok (hármas), leírásokat a hibák előfordult, stb - Ez a hiba a fájl. Ha a név megadva kiterjesztés nélküli sqlldr hozzá egy alapértelmezett kiterjesztése „.bad”. Ezt a fájlt hozzá kell adni a „rossz” sorokban (hármas), vagyis vonal, amely hibát generált, amikor megpróbálja letölteni őket.

    Ha a napló fájl vagy hiba fájl nincs megadva, a sqlldr használja az ellenőrző fájl nevét .log és .bad kiterjesztéseket, ill.

    Például, ha a felhasználó akar végrehajtani kirohanás test.ctl vezérlő fájlt, és meghatározza a kimeneti regisztrációs test.log fájl, a parancs így fog kinézni:

    Adatok betöltése használata nélkül adatfájlt osztók

    Talán csak egy fájlkezelő feltölteni az adatokat, ahelyett, hogy egy külön adatállományt.

    Ebben az esetben, hanem egy file nevet a „*” jelet, és a kulcsszó BEGINDATA, hogy elindítja az adatok szakasz az ellenőrző fájlban.

    Loading adatformátum DATE

    Adatok betöltése típusú DATE (dátum) van néhány jellemzőjét.

    Tegyük fel, hogy létrehoztunk egy táblázatot oszlopok, amelyek a adattípus DATE:

    Az ellenőrző fájlt, a leírás az oszlopok (attribútumok) asztal ize, d egy oszlop neve meg kell határoznia a dátum adattípus és a maszk dátumot. Maszk határozza meg a formátumot, amelyben a dátumot fogja használni. Maszk - egy karakterlánc idézőjelek és a következőket tartalmazza:

  • szimbólumok sorozatát d, m., vagy y, jelölésére adatmezőkhöz hogy kell értelmezni, mint nap, hónap, év. Mint szinte minden SQL, a kis- és nagybetűk egyaránt elfogadható, például MM - hónap mezőt.
  • A hossza ezeken a területeken meghatározza a maximális hosszát a megfelelő értékeket az adatokat. Az adatok azonban rövidebb lehet.
  • Más karakterek, mint például a „-” (kötőjel), amelyek feldolgozása szó, és meg kell jelennie az adatokat, ha elhelyezni a maszkot.

    Például a vezérlő fájl így néz ki:

    Megjegyezzük, hogy ebben a példában, a második sor (tuple) mutatja, hogy az adatok rövidebb lehet, mint a megfelelő maszkot. A „-” szimbólum jelenik meg a boot loader, hogy a mező nap és hónap befejezése korábban.

    Bemenet típusa NULL értékeket

    Megadhatjuk NULL értékeket bízza üres mezőket az adatállományban. Például, az egész értékeket a táblázatban a szerkezet (a, b, c), lehet helyezni például az ilyen sorban az adatfájl:

    Ez vezet a behelyezését a következő sorok (tuple) a táblázatban:

    Nem szabad elfelejteni, hogy az értéke az elsődleges kulcs, vagy egyéb korlátok nem lehet üres, hogy az ilyen vonalak nem kerül.

    Megjegyzés: Ha az utolsó mező az adatállomány legyen egy üres értéket (NULL), akkor az ellenőrző fájlt kell vonni sor után a hátulsó NULLCOLS TERÜLETEK végéig megszűnnek NULLCOLS, különben sqlldr nem ezt a sort (tuple). Sqlldr is elutasítja vonal (tuple), amelyben az összes oszlop uchtanovleny mint NULL.

    Kapcsolódó cikkek