Добавление преобразований в сервер репликации Sybase

У нас есть первичная исходная база данных как Oracle 11gR2 и цель как SAP HANA. Мы пытаемся протестировать сервер SAP-Sybase Replication для репликации с основного ORACLE на Target HANA.

Нам нужно добавить дополнительные столбцы, такие как RECORD_DATE и LAST_MODIFIED_DATE, в таблицы HANA. Можно ли добавить преобразования или дополнительные столбцы в целевые таблицы, которых нет в первичной базе данных.

Наилучшие пожелания


person Anirudh D    schedule 13.04.2017    source источник


Ответы (2)


вы думаете о добавлении этих полей во время репликации. или хотите объединить их после репликации. Если после репликации вы хотите их объединить, просто перейдите в Hana Studio и создайте информационное представление, чтобы получить объединенные или просто объединенные данные из разных таблиц.

и если эта таблица отсутствует в исходной системе, то вместо репликации создайте плоский файл Excel и импортируйте его в Hana, используя параметр «Импорт» в RHS hana studio.

и Единственный способ изменить определение таблицы в Hana — использовать оператор SQL Alter Table без других ярлыков. Или просто импортируйте и сделайте соединение.

person Shivam Shrivastava    schedule 15.04.2017
comment
Я хочу добавить его во время репликации. Таблицы присутствуют как на первичном, так и на вторичном уровне. Просто чтобы сохранить время вставки и время последнего изменения, я хочу заполнить столбцы даты в реплицированной базе данных. - person Anirudh D; 17.04.2017
comment
Я мог бы добиться RECORD_DATE (отметка времени при вставке записи), добавив столбец по умолчанию как current_timestamp в реплицированную таблицу. Но мы все еще боремся с LAST_MODIFIED_DATE (отметка времени при обновлении записи). - person Anirudh D; 17.04.2017
comment
поскольку вы реплицируете таблицу в Hana, это означает, что Hana не является БД, столбцы которой заполняются при создании или обновлении записи. - person Shivam Shrivastava; 17.04.2017
comment
пройти через это. и дайте мне знать, поможет ли это archive.sap.com/discussions/thread/3215142 использовать триггер slt вместо sybase - person Shivam Shrivastava; 17.04.2017

Я предполагаю, что вы хотите получить данные аудита для записей, вставленных/обновленных пользователем обслуживания Repserver (в базе данных HANA).

Хотя столбец по умолчанию (для вставок; как обсуждалось с Shivam) будет работать, для обновлений у вас есть несколько вариантов:

  • триггер обновления в таблице HANA [я не работаю с HANA, поэтому не знаю, выполнимо ли это]

  • определение столбца обновления как (материализованного) вычисляемого столбца, при этом связанная функция отвечает за получение текущей даты/времени при изменении других столбцов в таблице [хотя это выполнимо в Sybase ASE, я не знаю, возможно ли это выполнимо в HANA]

  • (в repserver) создайте строку пользовательской функции для функции rs_update в этой таблице, которая эмулирует стандартную строку функции rs_update с добавлением обновления LAST_MODIFIED_DATE = getdate() (замените getdate() эквивалентом текущей даты/времени HANA) [есть несколько различных способов сделать это в зависимости от версии SRS, того, что можно сделать со строками функций, специфичными для HANA, и личных предпочтений — на этом этапе нужно углубиться в подробности, если о строке пользовательской функции не может быть и речи или у вас уже есть приемлемое решение]

person markp-fuso    schedule 04.06.2017