- •Лабораторные работы с базами данных лабораторная работа №5. Работа с базами данных
- •Экспорт xml данных во внешнюю бд
- •Импорт данных из бд
- •Импорт атрибутов, элементов и пропуски
- •Создание схемы бд
- •Создание xml схемы из бд ms Access
- •Создание xml схемы из бд ibm db2 (odbc)
- •Лабораторные работы по mapforce
- •Лабораторная работа № 6. Отображение схем и генерирование кода с помощью mapforce Установка среды отображения Создание компонента исходной схемы
- •Создание компонента целевой схемы
- •Отображение узлов схемы
- •Авто-отображение
- •Использование функций для отображения данных
- •Использование функций для объединения узлов
- •Отображение остальной части Личных данных
- •Фильтрация данных
- •Генерирование xslt 1.0/2.0 кода
- •Преобразование отчета личных расходов в отчет расходов компании
- •Множественные целевые схемы/документы
- •Создание второго целевого документа
- •Отфильтровывание данных non-travel
- •Определение множественных схем одинакового наименования для генерации кода
- •Генерирование программного кода для множественных целевых схем
- •Отображение множественных узлов-источников на один целевой узел
- •Создание отображений
- •Дублирование входных узлов
- •Лабораторная работа № 7. Отображение базы данных на схему
- •Создание компонента бд в MapForce
- •Отображение данных бд Вставка целевой схемы
- •Отображение данных бд на схему в MapForce
- •Создание кода Java и результирующего xml файла
- •Отображение множества иерархических таблиц на выходной xml файл
- •Отображение множества плоских таблиц на один выходной xml файл
- •Отображение и корневые элементы выходных документов
- •Фильтрация бд по дате
- •Рекомендации для использования компонента «filter»
- •Лабораторная работа № 8. Отображение схемы на базу данных
- •Установка xml для отображения на бд
- •Компоненты и отношения между таблицами
- •Действия бд: insert Вставка новой записи в таблицу
- •Вставка таблиц и связанных дочерних таблиц.
- •Действия бд: Update Первый пример
- •Второй пример
- •Комбинации Update if... С удалением дочерних данных
- •Действия бд: Delete
- •Установки ключей бд
- •Действия таблиц бд и обработка транзакций
Действия таблиц бд и обработка транзакций
Действия таблицы позволяют вам определять, как определенные данные таблицы должны манипулироваться. MapForce в настоящее время поддерживает следующие действия: INSERT, UPDATE и DELETE.
Для того чтобы определить, должно быть выполнено действие или нет, сравниваются одно или более полей исходного документа и целевой таблицы.
Диалог Table actions позволяет вам определять:
Поля, которые будут сравниваться (т.е. PK);
Операции, используемые для сравнения (equal, equal ignore case);
Действие, которое выполняется, когда все условия каждого столбца выполнены.
Источником данных могут быть: XML файл, EDI сообщение, БД, текст, компонент Constant и т.д. Отображения, которые определяют, какие данные обрабатываться, созданы с использованием коннекторов в окне Mapping.
Действия таблицы обрабатываются слева направо. В примере, приведенном выше, сначала обрабатывается колонка Update if..., а затем Insert Rest....
Все условия колонки должны быть выполнены, для того чтобы действие таблицы было выполнено. Когда дело обстоит так, все поля, для которых определено отображение, модифицированы, т.е. в окне Mapping между узлами источника и адресата существуют коннекторы.
Если условие не удовлетворяется, то действие таблицы для этой колонки игнорируется и обрабатывается следующая колонка.
Если ни одно условие не удовлетворяется, то действия не выполняются.
Delete data in child tables
Установка стандартна, когда вы выбираете действие Update if....
Необходимо, если номера записей в файле источника могут различаться от номеров записей в целевой БД.
Помогает сохранить целостность БД (не допускает наличие записей-сирот в дочерних таблицах).
Эффект:
Условие удовлетворяется, когда соответствующий ключ (или другое поле) существует в исходном XML файле. Все дочерние данные родительской таблицы должны быть удалены.
Update if...выбирает родительскую таблицу, и таким образом, дочерние таблицы, связанные с ней, для которых предназначена опция «Delete data in child tables».
Если условие обновления (на родителе) не удовлетворяется, т.е. не существуют соответствующие ключи/поля в исходном XML файле, то дочерние данные не удаляются.
Наличие записей БД, для которых нет соответствующих записей в исходном XML файле, то такие записи не меняются.
Ignore input child data
Используйте эту опцию, когда вы хотите обновить определенные данные таблицы. Например, когда ваше отображение содержит 3 записи-источника и 2 записи в целевой таблице БД.
Определите условие Update if... для обновления существующих записей.
Активизируйте check box Ignore input child data колонки Update if..., для игнорирования связанных дочерних записей.
Определите условие Insert Rest... для любых новых записей, которые должны быть вставлены.
Use Transactions
Переключатель «Use Transaction» позволяет вам определить то, что должно случиться, если действие БД по какой-либо причине не выполняется. Когда случается такое исключение (exception) открывается диалоговое окно, снабжающее вас дополнительной информацией о дальнейших действиях. Затем вы выбираете определенную опцию и нажимаете ОК, для продолжения.
Активизация этой опции для определенной таблицы (использующей диалоговое окно Table action), обеспечивает откат действий этой таблицы при возникновении исключений.
Установка опции No Transaction
Если опция «Use Transaction» не активизизирована в диалоге Table options, или в установках компонента, и возникает ошибка:
Выполнение останавливается в точке возникновения ошибки. Все предварительно выполненные SQL-запросы сохранены в БД как on-true.
Установка опции Transaction на уровне компонента БД
Выполнение останавливается в точке, где возникла ошибка. Все предварительно выполненные SQL откатываются.
Установка опции Transaction на уровне диалога Table Actions
Появляется диалог Transaction exception с неактивной опцией «Rollback all and stop». ошибочное состояние SQL может быть прокручено обратно.
Установка опции Transaction как на уровне компонента БД, так и на уровне Table Actions
Появляется диалог Transaction exception с неактивной опцией «Rollback all and stop». ошибочное состояние SQL для БД и всех ее таблиц может быть прокручено обратно.
Нажатие кнопки Cancel откатывает назад текущую SQL и останавливает ее выполнение.
