Я использую интеграцию данных Pentaho для работы с многочисленными проектами. Мы используем Postgres для нашей базы данных. Одна из наших старых таблиц имеет два столбца, для которых установлен бит (1) для хранения 0 для false и 1 для true.Pentaho Data Integration Ошибка ввода/вывода бит
Моя задача - синхронизировать производственную таблицу с копией в нашей среде разработки. Я читаю данные с помощью Table Input и сразу пытаюсь сделать Insert/Update. Однако он не работает из-за преобразования в Boolean с помощью PDI. Я обновил запрос, чтобы присвоить значения целым числам, чтобы сохранить 0 и 1, но когда я запустил его снова, мое преобразование завершилось неудачно, потому что целое число не может быть битовым значением.
Я искал несколько дней, пробовав разные вещи, например, используя шаг javascript для преобразования в бит, но я не смог успешно прочитать бит типа и использовать шаг вставки/обновления для хранения данных. Я также не считаю, что в шаге «Вставка/обновление» есть возможности обновления SQL, который используется для определения типа данных для столбца.
Соединение с базой данных устанавливается с помощью:
- Тип соединения: PostgreSQL
- доступа: Native (JDBC)
- Поддерживает логический тип данных: истинные
- Quote все в базе данных: правда
Примечание: Изменение таблицы для изменения типа данных i s не является обязательным в данный момент времени. Слишком много приложений в настоящее время зависят от этой таблицы, поэтому их изменение таким образом может привести к нежелательным последствиям.
Любая помощь будет оценена. Спасибо.
'... не является обязательным в данный момент времени. Слишком много приложений в настоящее время зависят от этой таблицы, поэтому ее изменение таким образом может вызвать нежелательные последствия. Вы считали, что вы эмулируете поведение * old * с помощью VIEW? (легко, если данные используются только для чтения, в противном случае сложнее) – joop
Я столкнулся с PDI и MySQL.Один и тот же вариант использования, вставка/обновление сразу после ввода таблицы. Решение с MySQL было «cast (bit_column_name AS signed)». Тем не менее, я просто протестировал его с базой данных PostgreSQL 9.3 и PDI 5.4-stable, и никакого литья не требуется. Можете ли вы добавить частичный DDL как исходных, так и целевых таблиц и версию PDI, которую вы запускаете? – YuvalHerziger