Практическое занятие 8.2
На предыдущем занятии вы выполнили несколько различных выгрузок из базы данных sports81. На этом занятии необходимо создать целевую базу данных sports82 и выполнить загрузку в неё этих файлов.
Сначала вы попрактикуетесь в загрузке файла описания данных с помощью Data Administration. Затем загрузите данные в текстовом виде методом массовой загрузки (Bulk Load).
Задание 1. Создание целевой базы данных
В этом задании необходимо создать структурный файл (.st) для целевой базы данных sports82 на основе структурного файла исходной базы sports81, затем стартовать целевую базу.
Шаг | Действие |
1 | Откройте proenv. |
2 | Выгрузите структуру базы данных sports81 в файл sports82.st:
prostrct list sports81 sports82.st |
3 | Скопируйте файл sports82.st в каталог C:\OpenEdge\WRK\test82:
|
4 | Измените структуру будущей базы данных в файле sports82.st в соответствии следующим требованиям:
|
Итоговое содержимое структурного файла sports82.st:
# b C:\OpenEdge\WRK\test82\ f 640 b C:\OpenEdge\WRK\test82\ # d "Schema Area":6,32;1 C:\OpenEdge\WRK\test82\ # d "Employee":7,32;64 C:\OpenEdge\WRK\test82\ f 320 d "Employee":7,32;64 C:\OpenEdge\WRK\test82\ # d "Inventory":8,32;64 C:\OpenEdge\WRK\test82\ f 640 d "Inventory":8,32;64 C:\OpenEdge\WRK\test82\ # d "Cust_Data":9,32;64 C:\OpenEdge\WRK\test82\ f 320 d "Cust_Data":9,32;64 C:\OpenEdge\WRK\test82\ # d "Cust_Index":10,32;64 C:\OpenEdge\WRK\test82\ f 320 d "Cust_Index":10,32;64 C:\OpenEdge\WRK\test82\ # d "Order":11,32;64 C:\OpenEdge\WRK\test82\ f 1280 d "Order":11,32;64 C:\OpenEdge\WRK\test82\ # d "Misc":12,32;64 C:\OpenEdge\WRK\test82\ f 320 d "Misc":12,32;64 C:\OpenEdge\WRK\test82\ # a C:\OpenEdge\WRK\test82\ a C:\OpenEdge\WRK\test82\ a C:\OpenEdge\WRK\test82\ |
|
5 | Выполните проверку структурного файла sports82.st:
prostrct create sports82 sports82.st -validate The structure file format is valid. (12619) Device: C:, KBytes needed: 5376, KBytes available: 778225325 (12616) There is sufficient free space to initialise the defined extents. (12618) |
6 | Создайте пустую базу данных sports82, используя файл sports82.st и размер блока базы данных 4 К:
prostrct create sports82 sports82.st -blocksize 4096 |
7 | Скопируйте метасхему базу empty4 в базу sports82:
procopy %DLC%\empty4 sports82 |
8 | Выполните старт базы данных sports82 с параметрами -H localhost, -S 6002:
proserve sports82 -H localhost -S 6002 |
Задание 2. Загрузка файла описания данных
В этом задании необходимо загрузить описание данных в базу данных sports82.
Шаг | Действие |
1 | Откройте инструмент Data Administration. |
2 | Для подключения к базе данных sports82 выберите пункт меню Database -> Connect. Откроется диалоговое окно Connect Database:
|
3 | Загрузите описание данных из файла sports81.df в базу данных sports82. Напомним, файл sports81.df был создан на предыдущем практическом занятии и сохранён в каталоге C:\OpenEdge\WRK\test81:
|
Задание 3. Загрузка данных в текстовом виде с помощью Data Administration
В этом задании в базу данных sports82 необходимо из файлов с текстовой выгрузкой (.d) загрузить содержимое в таблицы Benefits, BillTo и Bin.
Шаг | Действие |
1 | Откройте (если закрыли ранее) инструмент Data Administration и подключитесь к базе данных sports82. |
2 | Выберите пункт меню Admin -> Load Data and Definitions -> Table Contents (.d file). |
3 | В диалоговом окне Select Tables щелчком мыши выделите таблицы Benefits, BillTo и Bin.
|
4 | Щёлкните мышью по кнопке OK. |
5 | В диалоговом окне Load Data Contents for Some Tables в поле Input Directory укажите каталог, содержащий файлы с текстовой выгрузкой данных: C:\OpenEdge\WRK\test81.
|
6 | Щёлкните мышью по кнопке OK. |
7 | После завершения загрузки откроется информационное окно, закройте его щелчком по кнопке OK. |
Задание 4. Загрузка данных в текстовом виде с помощью Bulk-Load
В этом задании в базу данных sports82 необходимо загрузить содержимое всех таблиц кроме таблиц Benefits, BillTo, Bin, Customer, Order и Orderline используя метод текстовой загрузки Bulk-Load.
Шаг | Действие |
1 | В Data Administration создайте файл описания загрузки sports82.fd для всех таблиц за исключением таблиц Benefits, BillTo, Bin, Customer, Order и Orderline:
1. Откройте Data Administration и подключитесь к базе данных sports82. 2. Выберите пункт меню Admin -> Create Bulk Loader Description File. 3. В диалоговом окне Select Tables выберите все таблицы, используя кнопку Select Some. 4. Затем в списке выделенных таблиц исключите из выделенного таблицы Benefits, BillTo, Bin, Customer, Order и Orderline, щелкая левой кнопкой мыши по каждой. 5. Щёлкните по кнопке OK для продолжения. 6. В следующем диалоговом окне Make Bulk Loader Description File в поле Output File по умолчанию будет указано имя файла sports82.fd. Укажите для него полный путь к каталогу базы данных sports82: C:\OpenEdge\WRK\test81\sports82.fd. Примечание: файл sports82.fd сохраняется в каталог test81 потому, что в нём хранятся файлы с текстовой выгрузкой данных. 7. Щёлкните по кнопке OK. 8. Закройте информационное окно с сообщением о создании файла. |
2 | Отключите Data Administration от базы данных sports82. Для этого выберите пункт меню Database-> Disconnect. |
3 | Откройте proenv и перейдите в каталог C:\OpenEdge\WRK\test81 (в этом каталоге хранятся файлы с текстовой выгрузкой данных). |
4 | Для загрузки текстовых данных методом Bulk-Load в proenv выполните следующую команду:
proutil C:\OpenEdge\WRK\test82\sports82 -C bulkload sports82.fd The BI file is being automatically truncated. (1526) ** This session is being run with the no-integrity (-i) option. (512) Loading data contents for file "Department". (1520) 7 lines read, 7 records created, 0 errors (1522) Loading data contents for file "Employee". (1520) 55 lines read, 55 records created, 0 errors (1522) Loading data contents for file "Family". (1520) 72 lines read, 72 records created, 0 errors (1522) *** *** *** Loading data contents for file "TimeSheet". (1520) 25 lines read, 25 records created, 0 errors (1522) Loading data contents for file "Vacation". (1520) 12 lines read, 12 records created, 0 errors (1522) Loading data contents for file "Warehouse". (1520) 14 lines read, 14 records created, 0 errors (1522) |
5 | Во время загрузки данных методом Bulk-Load все индексы загружаемых таблиц деактивируются, поэтому после завершения загрузки их необходимо создать заново. Для этого выполните следующую команду:
proutil C:\OpenEdge\WRK\test82\sports82 -C idxbuild all После успешного завершения работы команды перестройки индексов на экране должны быть следующее сообщение: 177 indexes were rebuilt. (11465) Index rebuild complete. 0 error(s) encountered. Elapsed time: 16.600 |