Ingres - Імпорт / Експорт даних
- Використовуючи ці команди
- copydb
- unloaddb
- Примітки
Ingres дозволяє експортувати дані з однієї установки Ingres в іншу (це незалежна від платформи процедура).
unloaddb
copydb
Основна відмінність між цими двома командами полягає в їх параметрах:
unloaddb перегрупує всі основні об'єкти (включаючи джерела інструментів для переднього кінцевого типу ABF, OpenROAD або Report Writer, реплікаторні каталоги.
copydb регрупує об'єкти, які він буде викликати.
Використовуючи ці команди
copydb
Приклад
copydb mydatabase mytable
Ця команда буде генерувати два файли: copy.in і copy.out, якщо існує таблиця myTable і mydatabase.
Ці файли містять ряд команд SQL:
copy.out:
дані розвантаження: COPY TABLE ... INTO ...
copy.in:
Створення таблиці: CREATE TABLE ...
Структура таблиці: MODIFY ...
Перезавантаження даних: COPY TABLE ... FROM ...
Створення індексів: CREATE INDEX ...
Використання цих файлів:
Щоб отримати дані:
sql mydatabase <copy.out
Щоб перезавантажити дані:
sql mydatabase <copy.in
unloaddb
Приклад
unloaddb mydatabase
Будуть створені чотири файли: copy.in, copy.out, reload.ing і unload.ing (або reload.bat і unload.bat під Windows).
Як і команда copydb, файли copy.in anf copy.out містять команди SQL, необхідні для вивантаження даних, створення об'єктів (таблиць, індексів, правил, процедур, переглядів) і перезавантаження даних. Основною відмінністю є unloaddb, який може генерувати програми для виклику цих файлів, що містять код SQL.
Примітки
Щоб створити портативну копію з однієї ОС до іншої, скористайтеся параметром-c (доступний для кожної з цих двох команд), що дозволить вам генерувати дані експорту / імпорту у форматі ASCII.
Наступні змінні не є вичерпними:
II_DATE_FORMAT : формат дати
II_DECIMAL : десятковий роздільник
II_MONEY_PREC : тип даних точних даних
II_MONEY_FORMAT : тип формату грошових даних (валюта)
II_NULL_STRING : текст, що використовується для представлення значення null
Ці змінні повинні бути однаковими між джерелом та цільовою машиною.
Оголошуйте ті самі місця: одне і те ж число, імена та типи. Каталоги можуть бути різними.
Розширте цільову базу даних до тих самих розташувань, що й база даних джерела: за допомогою команди infodb базу даних перевіряйте розташування обох, використовуйте accessdb або extenddb для розширення бази.
Зафіксуйте результат (stdout) файлу і знайдіть будь-який рядок, що починається з E_. Це вказує на помилку, яку необхідно проаналізувати в Ingres.
Якщо перезавантаження або copy.in не вдається, це може бути пов'язано з тим, що об'єкти, які ви намагаєтеся створити, вже існують.