2017-04-13 41 views
0

我們將主源數據庫設置爲Oracle 11gR2,並將目標設置爲SAP HANA。我們正在嘗試測試SAP - Sybase複製服務器以便從主ORACLE複製到目標HANA。在Sybase複製服務器中添加轉換

我們需要添加額外的列,例如RECORD_DATE和LAST_MODIFIED_DATE到HANA表。是否可以將轉換或額外的列添加到不在主數據庫中的目標表。

最好的問候

回答

0

你是否想在複製期間添加這些字段。 或想在複製後合併它們。如果複製後想要合併它們,只需轉到Hana Studio並使信息視圖從不同的表中獲取合併或簡單連接的數據。

如果該表不存在於源系統中,則不使用複製製作Excel平面文件,並使用hana studio的RHS上的導入選項將其導入到Hana。

和修改Hana中表定義的唯一方法是使用Alter Table SQL語句沒有其他快捷方式。或者只是導入並進行連接。

+0

我想在複製期間添加它。主表和主表都有表格。只是爲了保持插入時間和上次修改時間,我想填充複製數據庫中的日期列 –

+0

通過在複製表中添加默認列作爲current_timestamp,我可以實現RECORD_DATE(插入記錄時的時間戳)。但是我們仍然在用LAST_MODIFIED_DATE(更新記錄時的時間戳)來鍛鍊。 –

+0

由於您正在將表複製到Hana中,這意味着Hana不是在創建或更新記錄時填充其列的數據庫。 –

0

我假設您想要捕獲記錄器維護用戶(在HANA數據庫中)插入/更新的記錄的審計數據。

雖然列默認值(刀片;與Shivam討論)會工作,更新你有幾種選擇:

  • 在HANA表的更新觸發器[我不工作與HANA所以我不知道這是否可行]

  • 將更新列定義爲(具體化)計算列,其中相關函數負責獲取表中其他列的當前日期/時間修改[雖然在Sybase ASE中這是可行的,但我不知道這是否可以在HANA中實現]

  • (在repserver中)爲此表上的rs_update函數創建一個自定義函數字符串,它模擬標準rs_update函數字符串並添加更新LAST_MODIFIED_DATE = getdate()(將getdate()替換爲當前HANA的當前值日期/時間)[根據SRS版本有幾種不同的方法可以做到這一點,HANA特有的函數字符串可以做什麼,以及個人偏好 - 如果自定義函數字符串將是出了問題或者你已經有了一個可以接受的解決方案]