簡體   English   中英

如何在 Azure 數據工廠中為 Oracle 連接設置時區?

[英]How can I set the timezone in Azure Data Factory for Oracle connection?

當我們使用 ADF(Azure 數據工廠)將數據從 oracle 復制到 ADLS 時遇到問題。 oracle DB 的表中包含歐洲時區的時間戳值。 我們使用 azure 數據工廠將數據復制到 ADLS。 數據工廠 IR(集成運行時)位於美國東部時區的本地 VM 上。

問題是 - 當我們復制具有時間戳(但沒有時區)的 oracle 表時,ADF 復制活動會自動將時間戳值轉換為美國東部時區。 但我們不希望這種情況發生,我們希望按照源表中的原樣提取數據。

示例:Oracle 表中的數據 - 2020-03-04T00:00:00(這是 CET) ADLS 中的數據 - 2020-03-03T19:00:00.000+0000(以上日期已轉換為美國東部標准時間,因為沒有Oracle 表中的時區信息,Spark (+0000) 將其解釋為 UTC)

預計在 ADLS - 2020-03-04T00:00:00.000+0000(不希望時區轉換)

有沒有辦法在 Azure 數據工廠中的 oracle 連接級別強制執行時區?

我們嘗試在 Oracle 鏈接服務 - 連接參數 (PFA) 中設置屬性,但這對時區沒有影響,我們仍然將其轉換為 EST。 TIME_ZONE='歐洲\馬德里' TIME_ZONE='CET'

在此處輸入圖像描述

時間戳在 ADF 中內部轉換為日期時間

在此處輸入圖像描述圖片來源: MS文檔

  • 因此,在復制活動的映射選項卡中,更改源列的數據類型並復制數據。 以下是更改類型的方法。

  • 單擊管道的 JSON 表示。在此處輸入圖像描述

  • 將 Json 中帶有時間戳的列的數據類型編輯為字符串(在源和接收器中)。

在此處輸入圖像描述

  • 管道運行后,數據將以源格式復制到接收器中。

資源:

在此處輸入圖像描述

下沉:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM