Използването на Oracle Loader
- резюме
- Създаване на контрол файл
- Създаване на файл с данни
- Зареждане на данни
- Зареждане на данни, без да създавам файл с данни
- Зарежда ДАТА формат на данните
- Въвеждане NULL стойности
За да се използва, Oracle Loader, трябва да се създаде контролен файл, който определя как данните трябва да бъдат заредени в базата данни; файл с данни, който определя кои данни трябва да се зареждат в базата данни. Този раздел описва как да се създадат такива файлове.
Създаване на контрол файл
Нормалният контрол файл има следната структура:
Пример контрол test.ctl файл:
Създаване на файл с данни
Всеки ред на данните от файла - данните, които ще бъде низ (кортеж) на таблицата след натоварването. Всеки ред съдържа списък от стойности на колоната (атрибути), стойностите са подредени в същия ред, в който се изброяват в списъка с име на колона на контролния файл, стойностите са разделени <разделителем>, посочено в контролния файл.
Например, test.dat файл с данни могат да бъдат:
Припомнете си, че в списъка на колони (атрибути), определени в test.ctl - (I, а), където колона и е от тип ср, колона S - шар (10). Поради това, в резултат на изтегляне на данни от test.dat файл в таблицата за изпитване, добавете следните редове (кортежи)
Внимание: Моля, имайте предвид, че третото test.dat линия е пространство, след като "|". Тази разлика не се игнорира от товарача. Стойността, която се зарежда за атрибута е - "Баз", четири символен низ с първоначалното пространство. Грешка е да се мисли, че ще се зареди "Баз" (три-символен низ, без водещите интервали), вместо. Това може да доведе до проблеми, за които не обръщат внимание, докато не опиташ, да намират качени данните си, защото "Баз" и "Баз" - различни линии.
Товарачът нарича Oracle sqlldr. Това UNIX команда, така че той се нарича от UNIX, вместо sqlplus. Командата има следния формат:
Всички параметри на тази команда не са задължителни, а в тяхно отсъствие, системата ще поиска потребителско име, парола, името на файла за контрол.
Ако не е посочен регистрационния файл или файл грешка, sqlldr използва името на контролния файл с .log и .bad разширения, съответно.
Например, ако потребителят иска да изпълни Сали контрол test.ctl файл и да определи регистрацията продукция в test.log файл, командата ще изглежда така:
Зареждане на данни без използване на файл с данни с разделители
Може би просто да се използва за управление на файл за качване на данни, вместо да се използва отделен файл с данни.
В този случай, вместо име на файл е даден символ "*" и да използвате ключовата дума BEGINDATA, за да започне раздела за данни в контролния файл.
Зарежда ДАТА формат на данните
Зареждане на данни с тип DATE (дата) има някои функции.
Да предположим, че сте създали таблица с графи, които имат дата на типа данни:
В контролния файл, описанието на колони (атрибути) маса на Mt. на, г за име на колона трябва да определи типа на актуални данни и датата маска. Маска определя формата, в който ще се използва датата. Маска - е поредица от букви заграден в кавички, и съдържа:
Така например, на контролния файл може да изглежда така:
Имайте предвид, че в този пример, на втория ред (кортеж) показва, че данните могат да бъдат по-кратки от съответната маска. Символът "-" ще покаже зареждане на ОС, че в деня поле и месеца са извършени по-рано.
вход тип NULL стойности
Можете да определите NULL стойности просто напускат празни полета във файла с данни. Например, за цели числа в таблицата със структурата (а, б, в), могат да бъдат поставени например такъв ред във файла с данни:
Това ще доведе до включването на следните редове (кортежи) в таблицата:
Трябва да се помни, че стойността на първични ключове или други ограничения, не може да е празно, така че няма да се добавят тези линии.
Забележка: Ако последното поле на файла с данни трябва да бъде празна стойност (NULL), а след това на контролния файл трябва да бъде включен, след като линията зад гърба NULLCOLS ОБЛАСТИ прекратена до края NULLCOLS, в противен случай не sqlldr добавите тази линия (кортеж). Sqlldr също отхвърли линия (кортежи), в което всички колони uchtanovleny като NULL.
Свързани статии