ПредишенСледващото

Използването на Oracle Loader

  • резюме
  • Създаване на контрол файл
  • Създаване на файл с данни
  • Зареждане на данни
  • Зареждане на данни, без да създавам файл с данни
  • Зарежда ДАТА формат на данните
  • Въвеждане NULL стойности

За да се използва, Oracle Loader, трябва да се създаде контролен файл, който определя как данните трябва да бъдат заредени в базата данни; файл с данни, който определя кои данни трябва да се зареждат в базата данни. Този раздел описва как да се създадат такива файлове.

Създаване на контрол файл

Нормалният контрол файл има следната структура:

  • <имяФайлаДанных> - Това име на файла данни. Ако не разполагате с разширението, Oracle отнема подразбиране разширение (.dat). Ако файлът е друго разширение, той трябва да бъде посочен изрично.
  • <имяТаблицы> - име на една маса, където ще се добавят данните. таблица трябва да бъдат създадени преди извършване на операцията по зареждане.
  • Ключова дума показва, че данните ще бъдат добавени към таблицата с името <имяТаблицы>. Ако ключовата дума за добавяне е пропуснат, на масата, преди извършването на операцията по товарене трябва да е празен, в противен случай тя ще генерира грешка
  • <разделитель> Той определя от сегрегирани в досието с данни от всеки други стойности на колоните. Сепараторът може да бъде всеки един символ. Обикновено се използва като разделител на такъв характер, че не може да присъства като колона стойност.
  • Списък на имена на колони (атрибути) на маса <имяТаблицы> - В тази графа са имена, за да бъдат заредени от файл. Списъкът е заграден в скоби, имената са разделени със запетая. Списъкът не е задължително да включва всички графи в таблицата, по реда на тяхното включване не е непременно този, който в таблицата. Sqlldr ще търси съвпадение имена от списъка в структурата на името на таблицата. Всички колони, чиито имена не са включени в списъка, са настроени на NULL,

    Пример контрол test.ctl файл:

    Създаване на файл с данни

    Всеки ред на данните от файла - данните, които ще бъде низ (кортеж) на таблицата след натоварването. Всеки ред съдържа списък от стойности на колоната (атрибути), стойностите са подредени в същия ред, в който се изброяват в списъка с име на колона на контролния файл, стойностите са разделени <разделителем>, посочено в контролния файл.

    Например, test.dat файл с данни могат да бъдат:

    Припомнете си, че в списъка на колони (атрибути), определени в test.ctl - (I, а), където колона и е от тип ср, колона S - шар (10). Поради това, в резултат на изтегляне на данни от test.dat файл в таблицата за изпитване, добавете следните редове (кортежи)

    Внимание: Моля, имайте предвид, че третото test.dat линия е пространство, след като "|". Тази разлика не се игнорира от товарача. Стойността, която се зарежда за атрибута е - "Баз", четири символен низ с първоначалното пространство. Грешка е да се мисли, че ще се зареди "Баз" (три-символен низ, без водещите интервали), вместо. Това може да доведе до проблеми, за които не обръщат внимание, докато не опиташ, да намират качени данните си, защото "Баз" и "Баз" - различни линии.

    Товарачът нарича Oracle sqlldr. Това UNIX команда, така че той се нарича от UNIX, вместо sqlplus. Командата има следния формат:

    Всички параметри на тази команда не са задължителни, а в тяхно отсъствие, системата ще поиска потребителско име, парола, името на файла за контрол.

    - е името на файла за контрол. Ако името е уточнен с разширение, да се sqlldr добавите разширение по подразбиране ".ctl". име на файла данни в тази команда не е уточнено, като тя е в контролния файл. - е името на лог файл. Ако името е уточнен с разширение, да се sqlldr добавите разширение по подразбиране ". Вход". Този файл ще бъде поставен върху операцията по заетост, като броят на заредените редове (кортежи), описания на грешките, които може да са се случили, и т.н. - Този файл грешка. Ако името е уточнен с разширение, да се sqlldr добавите разширение по подразбиране ".bad". Този файл ще бъде добавена към "лошите" редове (кортежи), т.е. линия, която генерира грешка, когато се опитвате да ги свалите.

    Ако не е посочен регистрационния файл или файл грешка, sqlldr използва името на контролния файл с .log и .bad разширения, съответно.

    Например, ако потребителят иска да изпълни Сали контрол test.ctl файл и да определи регистрацията продукция в test.log файл, командата ще изглежда така:

    Зареждане на данни без използване на файл с данни с разделители

    Може би просто да се използва за управление на файл за качване на данни, вместо да се използва отделен файл с данни.

    В този случай, вместо име на файл е даден символ "*" и да използвате ключовата дума BEGINDATA, за да започне раздела за данни в контролния файл.

    Зарежда ДАТА формат на данните

    Зареждане на данни с тип DATE (дата) има някои функции.

    Да предположим, че сте създали таблица с графи, които имат дата на типа данни:

    В контролния файл, описанието на колони (атрибути) маса на Mt. на, г за име на колона трябва да определи типа на актуални данни и датата маска. Маска определя формата, в който ще се използва датата. Маска - е поредица от букви заграден в кавички, и съдържа:

  • последователност от символи г, т., или Y, означават полета в данните, които ще бъдат интерпретирани като дни, месеци, години, съответно. Подобно на почти всички с SQL, главни и малки букви са еднакво приемливи, например, ММ - месец област.
  • Дължините на тези полета определя максималната дължина на съответните стойности в данните си. Въпреки това, данните могат да бъдат по-къси.
  • Други знаци, като "-" (тире), които се обработват буквално, и трябва да се появи в данните си, ако се пускат в маската.

    Така например, на контролния файл може да изглежда така:

    Имайте предвид, че в този пример, на втория ред (кортеж) показва, че данните могат да бъдат по-кратки от съответната маска. Символът "-" ще покаже зареждане на ОС, че в деня поле и месеца са извършени по-рано.

    вход тип NULL стойности

    Можете да определите NULL стойности просто напускат празни полета във файла с данни. Например, за цели числа в таблицата със структурата (а, б, в), могат да бъдат поставени например такъв ред във файла с данни:

    Това ще доведе до включването на следните редове (кортежи) в таблицата:

    Трябва да се помни, че стойността на първични ключове или други ограничения, не може да е празно, така че няма да се добавят тези линии.

    Забележка: Ако последното поле на файла с данни трябва да бъде празна стойност (NULL), а след това на контролния файл трябва да бъде включен, след като линията зад гърба NULLCOLS ОБЛАСТИ прекратена до края NULLCOLS, в противен случай не sqlldr добавите тази линия (кортеж). Sqlldr също отхвърли линия (кортежи), в което всички колони uchtanovleny като NULL.

    Свързани статии

  • Подкрепете проекта - споделете линка, благодаря!