# Microsoft Fabric

您可以使用 Microsoft Fabric 作為資料管道或複寫任務中的目標資料平台。在資料管道中，可以在目標平台執行各種 ELT 操作，包括儲存資料、轉換資料、建立資料超市和註冊資料。另一方面，複寫任務涉及將資料直接從來源系統複寫至具有基本轉換功能但不支援 ELT 操作的目標系統。

資訊備註需要 資料移動閘道 2023.5.15 或更高版本。

設定 Microsoft Fabric 作為目標涉及：

* [履行先決條件](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/fabric-target.htm#Prerequi2)
* 設定連線至雲端暫存區域 (Azure 資料湖儲存空間)。若您[註冊現有資料](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Onboarding/Registering-data.htm)，則不需要這麼做。
* 設定連線至 Microsoft Fabric

## 設定雲端暫存區域

資訊備註若您[註冊現有資料](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Onboarding/Registering-data.htm)，您不需要設定雲端暫存區域。

您也需要有 Azure Data Lake Storage 雲端暫存區域，資料和變更在套用和儲存之前會在該區暫存。如需設定連線至 Azure Data Lake Storage 的資訊，請參閱 [Azure Data Lake Storage](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/adls-target.htm)。

## 設定 Microsoft Fabric 連線屬性

提供 Azure 資料湖儲存目標設定後，進行下列事項：

1. 在連線中，按一下建立連線。

2. 選取 Microsoft Fabric目標連接器，然後提供下列設定：

### 資料目標

#### 資料閘道

資訊備註此欄位無法用於 Qlik Talend Cloud 啟動器 訂閱，因為此訂閱層級不支援 資料移動閘道。

只有在無法從 Qlik Cloud 存取目標資料庫且只能使用私人連結存取時 (例如若將在虛擬私人雲端中)，才需要 資料移動閘道。在此情況下，選取您要用來存取目標資料庫的 資料移動閘道。

根據您的使用情況，這會是為了從資料來源移動資料而部署的相同或不同 資料移動閘道。

如需關於 資料移動閘道 使用案例的資訊，請參閱 [何時需要 資料移動閘道？](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm#top) 和 [常見使用案例](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm#Common)。

若目標資料庫可從 Qlik Cloud 直接存取，請選取無。

資訊備註透過 資料移動閘道 存取目標資料庫時，您也需要在 資料移動閘道 機器上安裝適當的驅動程式。如需詳細資訊，請參閱以下的 [Microsoft Fabric](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/fabric-target.htm#Driver)。

### 連線屬性

* 伺服器：您正在使用的 Microsoft Fabric 資料倉儲伺服器名稱。

### 帳戶屬性

驗證方法：選擇以下其中一項：

* Azure Active Directory 服務主體

  然後在指定欄位中提供您的用戶端 ID 和用戶端密碼。

* Azure Active Directory 使用者主體

  然後在指定欄位中提供使用者名稱 和密碼。

### 資料庫屬性

* 資料庫名稱：有兩種方法可用來指定資料庫：

  * 方法 1 - 從清單中選取： 按一下載入資料庫，然後選取資料庫。
  * 方法 2 - 手動：選取 手動輸入資料庫名稱，然後輸入資料庫名稱。

### 資料載入

* SAS Token：將會由 Microsoft Fabric 使用以存取 ADLS 儲存帳戶的 SAS Token。若您[註冊現有資料](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Onboarding/Registering-data.htm)，則不需要這麼做。

### 名稱

連線的顯示名稱。

## 必要條件

### 對資料庫的權限

必須向 Microsoft Fabric 連接器 設定的 ODBC 存取區段中指定的 Azure Active Directory 使用者/服務主體授予參與者角色。

### 驅動程式的設定

只有在透過 資料移動閘道 存取資料庫時，才需要驅動程式。在這類情況下，您需要將驅動程式安裝在 資料移動閘道 機器。

您可以使用驅動程式安裝公用程式 (建議) 或手動安裝 driver。只能在不太可能發生的事件 (您在使用驅動程式安裝公用程式時遇到問題) 中嘗試手動安裝。

#### 使用驅動程式安裝公用程式來安裝驅動程式

此區段描述如何安裝所需的 driver。該流程涉及執行將會自動下載、安裝並設定所需 driver 的指令碼。您也可以執行指令碼，以根據需求更新並解除安裝 driver。

準備安裝

* 確認 Python 3.6 或更高版本安裝於 資料移動 閘道伺服器。

  Python 會預先安裝在大部分的 Linux 發行版。您可以執行下列命令，以查看哪個 Python 版本安裝在您的系統上：

  python3 --version

安裝 driver

若要下載並安裝 driver：

1. 停止 Data Movement gateway 服務：

   sudo systemctl stop repagent

2. 可自選，確認服務已停止：

   sudo systemctl status repagent

   狀態應如下所示：

   Active: inactive (dead) since &lt;timestamp&gt; ago

3. 在 資料移動 閘道機器上，將工作目錄變更為：

   opt/qlik/gateway/movement/drivers/bin

4. 執行下列命令：

   語法：

   ./install fabric

   若無法下載 driver (由於存取限制或技術問題)，將會顯示訊息，指示您到哪裡下載 driver 以及在 資料移動 閘道機器上的何處複製。完成後，再次執行 install fabric 命令。

   否則，就會顯示 driver 的 EULA。

5. 執行下列其中一個動作：

   * 重複按下 [Enter] 以緩慢瀏覽 EULA。
   * 重複按下空格鍵以快速瀏覽 EULA。
   * 按下 q 以結束授權文字並呈現 EULA 接受選項。

6. 執行下列其中一個動作：

   * 輸入「y」並按下 [Enter] 以接受 EULA 並開始安裝。

   * 輸入「n」並按下 [Enter] 以拒絕 EULA 並退出安裝。

   * 輸入「v」並按下 [Enter] 以再次檢視 EULA。

   將會安裝 driver。

7. 等待安裝完成 (以「完成！」指示)，然後開始 Data Movement gateway 服務：

   sudo systemctl start repagent

8. 可自行選擇確認服務已開始：

   sudo systemctl status repagent

   狀態應如下所示：

   Active: active (running) since &lt;timestamp&gt; ago

更新 driver

若您想要在安裝提供的 driver 之前解除安裝先前的 driver 版本，請執行更新命令。

若要下載並更新 driver：

1. 停止 Data Movement gateway 服務：

   sudo systemctl stop repagent

2. 可自選，確認服務已停止：

   sudo systemctl status repagent

   狀態應如下所示：

   Active: inactive (dead) since &lt;timestamp&gt; ago

3. 在 資料移動 閘道機器上，將工作目錄變更為：

   opt/qlik/gateway/movement/drivers/bin

4. 執行下列命令：

   語法：

   ./update fabric

   若無法下載 driver (由於存取限制或技術問題)，將會顯示訊息，指示您到哪裡下載 driver 以及在 資料移動 閘道機器上的何處複製。完成後，再次執行 update fabric 命令。

   否則，就會顯示 driver 的 EULA。

5. 執行下列其中一個動作：

   * 重複按下 [Enter] 以緩慢瀏覽 EULA。
   * 重複按下空格鍵以快速瀏覽 EULA。
   * 按下 q 以結束授權文字並呈現 EULA 接受選項。

6. 執行下列其中一個動作：

   * 輸入「y」並按下 [Enter] 以接受 EULA 並開始安裝。
   * 輸入「n」並按下 [Enter] 以拒絕 EULA 並退出安裝。
   * 輸入「v」並按下 [Enter] 以從頭檢閱 EULA。

   將會解除安裝舊版 driver，並安裝新版 driver。

7. 等待安裝完成 (以「完成！」指示)，然後開始 Data Movement gateway 服務：

   sudo systemctl start repagent

8. 可自行選擇確認服務已開始：

   sudo systemctl status repagent

   狀態應如下所示：

   Active: active (running) since &lt;timestamp&gt; ago

解除安裝 driver

若您想要解除安裝 driver，請執行解除安裝命令。

若要解除安裝 driver：

1. 停止設定為使用此連接器的所有任務。

2. 在 資料移動 閘道機器上，將工作目錄變更為：

   opt/qlik/gateway/movement/drivers/bin

3. 執行下列命令：

   語法：

   ./uninstall fabric

   將會解除安裝 driver。

#### 手動安裝驅動程式

只有在自動驅動程式安裝無法成功完成時，才能嘗試手動安裝 driver。

您需要安裝 ODBC 驅動程式和 JDBC 驅動程式。

安裝 ODBC 驅動程式

安裝 資料移動閘道 後，下載 msodbcsql&lt;version&gt;.x86\_64.rpm 驅動程式。您可以在 /opt/qlik/gateway/movement/drivers/manifests/fabric.yaml 的 binary-artifacts 之下找到支援版本的直接下載連結。下載完成後，將 RPM 複製到 資料移動閘道 機器。

1. 停止 Data Movement gateway 服務：

   sudo systemctl stop repagent

2. 可自選，確認服務已停止：

   sudo systemctl status repagent

   狀態應如下所示：

   Active: inactive (dead) since &lt;timestamp&gt; ago

3. 將驅動程式安裝在 Data Movement gateway 機器。

4. 複製驅動程式位置至 `site_arep_login.sh` 檔案，如下所示：

   ```
   echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/microsoft/msodbcsql<version>/lib64/" >> site_arep_login.sh
                           
   ```

   範例：

   ```
   echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/microsoft/msodbcsql17/lib64/" >> site_arep_login.sh
                           
   ```

   這將新增驅動程式至「LD\_LIBRARY\_PATH」並更新位於 **site\_arep\_login.sh** 檔案的驅動程式位置。

5. 可自選，確認已複製驅動程式位置：

   ```
   cat site_arep_login.sh
                           
   ```

6. 開始 Data Movement gateway 服務：

   sudo systemctl start repagent

7. 可自選，確認服務已開始：

   sudo systemctl status repagent

   狀態應如下所示：

   Active: active (running) since &lt;timestamp&gt; ago

安裝 JDBC 驅動程式

1. 下載列於 /opt/qlik/gateway/movement/drivers/manifests/fabric.yaml 的 binary-artifacts 之下的 JAR 檔案。然後將檔案複製到 資料移動閘道 機器上的下列資料夾：

   /opt/qlik/gateway/movement/qcs\_agents/qdi-db-commands/lib

2. 執行 資料移動閘道 中描述的命令，以重新啟動 [重新啟動服務](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/dm-gateway-managing.htm#Restarti2) 服務

警告備註若您正在使用 Microsoft SQL Server 資料來源 (基於 CDC 或基於記錄)，則解除安裝 Fabric 驅動程式也會中斷與 SQL Server 的連線，因為這共用相同的驅動程式。

### 連接埠

開啟用於傳出通訊的連接埠 1433。

## 限制和考慮事項

* 不支援下列作業，且不會套用至目標：

  * RENAME 欄位
  * DROP/ALTER 欄位

* 新增的欄位 (ADD COLUMN) 必須可為 Null。

資訊備註

自 資料移動閘道y 2026.5.1 起，目標資料類型將對應至 `MAX` 長度，而非 `8000`。若要將對應套用至已註冊的資料、儲存體、轉換、資料市集和知識市集工作中的現有資料欄，請執行 `ALTER TABLE` 以變更資料欄資料類型或重新建立資料表。針對其他工作類型，請重新建立資料表。

## 資料類型

下表顯示使用 Microsoft Fabric 時支援的 Qlik Cloud 資料類型和來自 Qlik Cloud 資料類型的預設對應。

會保留原生資料類型資訊，並顯示在資料集檢視的原生資料類型欄中。若看不見欄，您需要開啟資料集檢視的欄選擇器並選取原生資料類型欄。

支援的資料類型

| Qlik Talend Data Integration 資料類型 | Microsoft Fabric 資料類型 |
| --- | --- |
| BOOL | BIT |
| BYTES | 若長度為 1-8000，則：<br><br>VARBINARY (以位元組為單位的長度)<br><br>如果長度超過 8000 個位元組，BYTES 會對應至 VARBINARY (MAX)。 |
| DATE | DATE |
| TIME | 若刻度為 0-6，則：<br><br>時間 (刻度)<br><br>若刻度超過 6，則：<br><br>時間 (6) |
| TIMESTAMP | 若刻度為 0-6，則：<br><br>DATETIME2 (刻度)<br><br>若刻度超過 6，則：<br><br>DATETIME2 (6) |
| INT1 | SMALLINT |
| INT2 | SMALLINT |
| INT4 | INT |
| INT8 | BIGINT |
| NUMERIC | 小數點 (p,s) |
| REAL4 | FLOAT(24) |
| REAL8 | FLOAT(53) |
| STRING | 若以位元組為單位的長度為 1-8000，則：<br><br>VARCHAR (以位元組為單位的長度)<br><br>若位元組長度超過 8000，STRING 會對應至 VARCHAR (MAX)。 |
| UINT1 | SMALLINT |
| UINT2 | INT |
| UINT4 | BIGINT |
| UINT8 | 小數點 (20,0) |
| WSTRING | 若以位元組為單位的長度為 1-8000，則：<br><br>VARCHAR (以位元組為單位的長度)<br><br>如果位元組長度超過 8000，WSTRING 會對應至 VARCHAR (MAX)。 |
| BLOB | VARBINARY (最大) |
| NCLOB | VARCHAR (max) |
| CLOB | VARCHAR (max) |
| JSON | VARCHAR (max) |

資訊備註不支援完整 LOB 資料類型。如需在 移動 中納入限制大小 LOB 資料類型的資訊，請參閱 [從資料來源登陸資料](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/Landing-data-data-sources.htm#Runtime)。