UpdateDatabaseTable
Описание
Этот процессор использует JDBC-соединение и входящие записи для генерации изменений в таблице базы данных, необходимых для поддержки входящих записей. Ожидается, что структура записи будет "плоской", то есть ни одно из полей верхнего уровня записи не должно быть вложенным.
Теги
metadata, jdbc, database, table, update, alter
Свойства
Название | Описание |
---|---|
Record Reader | Сервис для чтения входящих файлов потока. Читатель используется только для определения схемы записей, фактические записи не обрабатываются. |
Database Connection Pooling Service | Служба контроллера, которая используется для получения подключения (подключений) к базе данных |
Database Type | The type/flavor of database, used for generating database-specific code. In many cases the Generic type should suffice, but some databases (such as Oracle) require custom SQL clauses. |
Catalog Name | Имя каталога, который должен быть обновлен оператором. Это может не относиться к базе данных, которую вы обновляете. В этом случае оставьте поле пустым. Обратите внимание, что если свойство задано и база данных чувствительна к регистру, имя каталога должно точно совпадать с именем каталога базы данных. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Schema Name | Имя схемы базы данных, к которой принадлежит таблица. Это может не относиться к базе данных, которую вы обновляете. В этом случае оставьте поле пустым. Обратите внимание, что если свойство задано и база данных чувствительна к регистру, имя схемы должно точно совпадать с именем схемы базы данных. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Table Name | Имя таблицы базы данных для обновления. Если таблица не существует, она будет либо создана, либо возникнет ошибка, в зависимости от значения свойства «Создать таблицу». Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Create Table Strategy | Указывает, как обрабатывать целевую таблицу, если она не существует (создать её, например, или выдать ошибку). |
Primary Key Fields | Список разделённых запятыми имён полей записи, которые однозначно идентифицируют строку в базе данных. Это свойство используется только в том случае, если необходимо создать указанную таблицу. В этом случае поля первичного ключа будут использоваться для указания первичных ключей вновь созданной таблицы. ВАЖНО: поля первичного ключа должны точно соответствовать именам полей записи, если только для параметра «Заключать идентификаторы столбцов в кавычки» не задано значение false и база данных допускает имена столбцов без учета регистра. На практике лучше всего указывать поля первичного ключа, которые точно соответствуют именам полей записи, так как они станут именами столбцов в созданной таблице. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [Create Table Strategy] Property has a value of "Create If Not Exists". |
Translate Field Names | Если значение равно true, процессор попытается преобразовать имена полей в соответствующие имена столбцов для указанной таблицы, чтобы определить, существует ли имя поля в качестве столбца в целевой таблице. ПРИМЕЧАНИЕ: Если целевая таблица не существует и должна быть создана, это свойство игнорируется, и имена полей будут использоваться как есть. Если значение равно false, имена полей должны точно совпадать с именами столбцов, иначе столбец может быть не найден и вместо этого будет выдано сообщение об ошибке, что столбец уже существует. |
Update Field Names | Это свойство указывает, следует ли обновлять выходную схему таким образом, чтобы имена полей соответствовали точным именам столбцов из указанной таблицы. Это свойство следует использовать, если имена полей входящих записей могут не совпадать с именами столбцов таблицы с точки зрения использования прописных и строчных букв. Например, это свойство следует установить в значение true, если выходной файл FlowFile предназначен для Oracle, которая ожидает, что имена полей будут точно соответствовать именам столбцов. ПРИМЕЧАНИЕ: значение свойства «Переводить имена полей» игнорируется при обновлении имен полей; вместо этого они обновляются в соответствии с именем столбца, возвращаемым базой данных. |
Record Writer | Указывает службу контроллера, используемую для записи результатов в FlowFile. Средство записи записей должно использовать функцию «Наследовать схему», чтобы имитировать поведение предполагаемой схемы, то есть явная схема не должна быть определена в средстве записи и будет предоставляться той же логикой, которая используется для определения схемы на основе типов столбцов. Если для стратегии создания таблицы выбрано значение "Создать, если не существует", выходной формат средства записи должен совпадать с форматом средства чтения записей, чтобы данные могли быть помещены в созданную таблицу. Обратите внимание, что это свойство используется только в том случае, если для параметра "Обновлять имена полей" установлено значение true и не все имена полей точно совпадают с именами столбцов. Если для каких-либо имен полей обновление не требуется (или значение "Обновить имена полей" равно false), средство записи не используется, и вместо этого входной потоковый файл перенаправляется на успешное выполнение или сбой без изменений.This Property is only considered if the [Update Field Names] Property has a value of "true". |
Quote Table Identifiers | При включении этой опции имя таблицы будет заключаться в кавычки для поддержки использования специальных символов в имени таблицы и/или для того, чтобы значение свойства «Имя таблицы» точно соответствовало имени целевой таблицы. |
Quote Column Identifiers | При включении этой опции все имена столбцов будут заключаться в кавычки, что позволит использовать зарезервированные слова в качестве имен столбцов в ваших таблицах и/или заставит имена полей записей точно соответствовать именам столбцов. |
Query Timeout | Задаёт количество секунд, в течение которых драйвер будет ожидать выполнения запроса. Значение 0 означает отсутствие тайм-аута. ПРИМЕЧАНИЕ: ненулевые значения могут не поддерживаться драйвером. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Взаимосвязи
- success: Файл потока, содержащий записи, направляемые в эту связь после успешной передачи записи в базу данных.
- failure: Файл потока, содержащий записи, направляемые в эту связь, если запись не удалось передать в базу данных.