# Microsoft Fabric

您可以使用 Microsoft Fabric 作为数据管道或复制任务中的目标数据平台。在数据管道中，可以在目标平台上执行各种 ELT 操作，包括存储数据、转换数据、创建数据集市和注册数据。另一方面，复制任务涉及将数据直接从源系统复制到具有基本转换功能的目标系统，但不支持 ELT 操作。

信息注释需要 数据移动网关 2023.5.15 或更高版本。

将 Microsoft Fabric 设定为目标涉及以下方面：

* [满足先决条件](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/fabric-target.htm#Prerequi2)
* 正在配置到云暂存区域（Azure 数据湖存储）的连接。如果您正在[注册现有数据](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Onboarding/Registering-data.htm)，则不需要执行此操作。
* 配置连接，指向 Microsoft Fabric

## 设置云暂存区

信息注释如果您正在[注册现有数据](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Onboarding/Registering-data.htm)，则无需设置云暂存区。

您还需要一个 Azure Data Lake Storage 云暂存区，在应用和存储之前，数据和更改都在那里暂存。有关设置与 Azure 数据湖存储的连接的信息，请参阅[Azure Data Lake Storage](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/adls-target.htm)。

## 设置 Microsoft Fabric 连接属性

提供 Azure Data Lake 存储目标设置后，请执行以下操作：

1. 在连接中单击创建连接。

2. 选择 Microsoft Fabric目标连接器，然后提供以下设置：

### 数据目标

#### 数据网关

信息注释此字段不适用于 Qlik Talend Cloud Starter 订阅，因为此订阅层不支持 数据移动网关。

只有当目标数据库无法从 Qlik Cloud 访问时（例如，如果它位于或虚拟专用云中），才需要 数据移动网关，并且只能使用私有链接访问。如果是这种情况，请选择要通过其访问目标数据库的 数据移动网关。

根据您的使用情况，这将和从数据源移动数据时部署的 数据移动网关 相同，或者与之不同。

有关 数据移动网关 用例的信息，请参阅 [什么时候需要 数据移动网关？](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm#top) 和 [常见用例](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm#Common)。

如果可以从 Qlik Cloud 直接访问目标数据库，请选择无。

信息注释通过 数据移动网关 访问目标数据库时，还需要在 数据移动网关 计算机上安装相应的驱动程序。有关详细信息，请参阅下文的[Microsoft Fabric](https://help.qlik.com/zh-CN/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 令牌：将由 Microsoft Fabric 用于访问 ADLS 存储帐户的 SAS 令牌。如果您正在[注册现有数据](https://help.qlik.com/zh-CN/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. 停止 数据移动网关 服务：

   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. 等待安装完成（以“完成！”指示），然后启动 数据移动网关 服务：

   sudo systemctl start repagent

8. 可选择确认服务已启动：

   sudo systemctl status repagent

   状态应如下所示：

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

更新 driver

如果要在安装提供的 driver 之前卸载以前版本的 driver，请运行 update 命令。

下载并更新 driver：

1. 停止 数据移动网关 服务：

   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. 等待安装完成（以“完成！”指示），然后启动 数据移动网关 服务：

   sudo systemctl start repagent

8. 可选择确认服务已启动：

   sudo systemctl status repagent

   状态应如下所示：

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

卸载 driver

如果要卸载 driver，请运行 uninstall 命令。

卸载 driver：

1. 停止所有配置为使用此连接器的任务。

2. 在 数据移动 网关计算机上，将工作目录更改为：

   opt/qlik/gateway/movement/drivers/bin

3. 然后运行以下命令：

   语法：

   ./uninstall fabric

   将卸载 driver。

#### 手动安装驱动程序

只有在自动驱动程序安装未成功完成的情况下，才应尝试手动安装 driver。

您需要同时安装 ODBC 驱动程序和 JDBC 驱动程序。

安装 ODBC 驱动程序

在安装 数据移动网关 后，下载 msodbcsql&lt;版本&gt;.x86\_64.rpm 驱动程序。您可以在 /opt/qlik/gateway/movement/drivers/manifests/fabric.yaml 中的 binary-artifacts 下找到受支持版本的直接下载链接。下载完成后，将 RPM 复制到 数据移动网关 机器上。

1. 停止 数据移动网关 服务：

   sudo systemctl stop repagent

2. 可选择确认服务已停止：

   sudo systemctl status repagent

   状态应如下所示：

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

3. 在 数据移动网关 计算机上安装驱动程序。

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. 启动 数据移动网关 服务：

   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-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/dm-gateway-managing.htm#Restarti2) 服务

警告注释如果您使用的是 Microsoft SQL Server 数据源（基于 CDC 或基于日志），卸载结构驱动程序也会中断与 SQL Server 的连接，因为它们共享相同的驱动程序。

### 端口

打开端口 1433 以进行出站通信。

## 限制和考虑事项

* 不支持以下操作，且不会应用于目标：

  * RENAME 列
  * DROP/ALTER 列

* 新添加的列 (ADD COLUMN) 必须可为空。

信息注释

自 数据移动网关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>TIME（刻度）<br><br>如果刻度超过 6，则：<br><br>TIME (6) |
| TIMESTAMP | 如果刻度为 0-6，则：<br><br>DATETIME2 (Scale)<br><br>如果刻度超过 6，则：<br><br>DATETIME2 (6) |
| INT1 | SMALLINT |
| INT2 | SMALLINT |
| INT4 | INT |
| INT8 | BIGINT |
| NUMERIC | DECIMAL (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 | DECIMAL (20,0) |
| WSTRING | 如果长度按字节计为 1-8000，则：<br><br>VARCHAR（以字节计算的长度）<br><br>如果字节长度超过 8000，WSTRING 将映射为 VARCHAR (MAX)。 |
| BLOB | VARBINARY (max) |
| NCLOB | VARCHAR (MAX) |
| CLOB | VARCHAR (MAX) |
| JSON | VARCHAR (MAX) |

信息注释不支持完整 LOB 数据类型。有关在 移动 中包括有限大小 LOB 数据类型的信息，请参阅[从数据源登陆数据](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/Landing-data-data-sources.htm#Runtime)。