# SAP ODP

信息注释仅 Qlik Talend Cloud Enterprise 订阅支持此连接器。

本主题介绍如何在数据任务中设置 SAP ODP 源。在开始数据任务之前，请确保已完成 [先决条件](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/SAP-ODP/sap-odp-prereq.htm)，并熟悉 [限制和考虑事项](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/SAP-ODP/sap-odp-limitations.htm)。

使用 SAP ODP 连接器时，存在固定的增量处理模式，该模式将对源数据集（INSERT、UPDATE 或 DELETE）执行的实际更改应用于相应的目标数据集。

信息注释

* 更改操作由 ODP 源决定。有些操作可能不受目标支持。

* 我们建议针对不使用默认主键的 ODP 源手动设置主键。

* 某些 UPDATE 被接收为 INSERT。因此，为防止目标上发生冲突，请将 应用 INSERT 时出现重复键 应用冲突处理策略设置为 UPDATE 现有目标记录。

  有关此设置的更多信息，请参阅[应用冲突](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings.htm#Apply2)。

## 设置连接属性

本节介绍如何使用负载平衡为特定 SAP 应用程序服务器或 SAP 系统设置连接参数。

要打开连接器，请执行以下操作：

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

2. 选择 SAP ODP 源连接器，然后提供以下设置：

### 数据源

* 数据网关

  选择用于移动您的数据 数据移动网关。

  有关 数据移动网关 的信息，请参阅[Qlik 数据网关 - 数据移动](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm)。

* 连接到：根据您的 SAP ODP 环境选择以下选项之一：

  * 应用程序服务器 - 然后从下面的连接到特定的应用程序服务器继续。
  * 负载平衡环境 - 然后从下面的连接到负载平衡环境继续。

#### 连接到特定的应用程序服务器

1. [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/SAP-ODP/sap-odp-properties.htm)从连接到下拉列表中选择应用程序服务器后，提供以下信息：

   * 服务器名称：SAP ODP 源所在的应用程序服务器的 IP 地址。
   * 实例标识符：您的 SAP ODP 源的实例编号。
   * 客户端标识符：SAP ODP 源的系统 ID。

2. 填写下面帐户属性和源属性中描述的字段。

#### 连接到负载均衡环境

1. [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/SAP-ODP/sap-odp-properties.htm)从连接到下拉列表中选择负载平衡环境后，提供以下信息：

   * 邮件服务器：邮件服务器主机的主机名或 IP 地址。

   * 应用程序服务器组名称：SAP 服务器组的名称。这是负载平衡连接中的一组可选应用程序服务器。

   * SAP 系统名称：SAP R/3 名称。

   * 邮件服务器服务：以下文件中指定的 SAP 邮件服务器服务的名称：

     `<system drive>:\WINDOWS\system32\drivers\etc\services`

     如果未指定值，Data Provider for SAP 将使用以下默认名称：

     `sapms<R/3 system name>`

   * 客户端标识符：您想要移动的 SAP 应用程序源的系统 ID。

2. 填写下面帐户属性和源属性中描述的字段。

### 帐户属性

* 用户名：用于访问 SAP ODP 源的用户名。这应该是之前在 SAP 中创建的通信用户的密码。

* 密码：用于访问 SAP ODP 源的密码。这应当是先前在 SAP 中创建的通信用户的用户名。

### 源属性

* ODP 上下文：选择以下项之一：

  * ABAP 核心数据服务 (CDS) 视图：CDS 视图的上下文。这是默认的 ODP 上下文。

  * SAP NetWeaver Business Warehouse：BW 对象的上下文。

  * SAP 数据源/提取器：数据源和提取器的上下文。

  * SAP HANA 信息视图：HANA 视图的上下文。

  * SAP LT Replication (SLT)：使用 SAP Landscape Transformation Replication Server 时需要。

    另请参阅： [在 SAP 上设置 SLT](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/SAP-ODP/sap-odp-prereq.htm#Setting)

* SLT 别名：只有当 ODP 上下文设置为 SAP LT Replication (SLT) 时，此字段才可见。指定在 [在 SAP 上设置 SLT](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/SAP-ODP/sap-odp-prereq.htm#Setting) 中创建的配置中定义的 SLT 别名

* 订阅者类型：选择以下项之一：

  * SAP NetWeaver Business Warehouse：这是默认的 ODP 订户类型。
  * RODPS\_REPL\_TEST：主要用于测试，不建议用于生产。
  * 其他：这将显示字段其他订阅者类型，您可以在其中指定未列出的订阅者类型。

* 订阅者名称：指定订阅者名称。这将是 SAP 中为此端点连接打开的所有订阅显示的名称。

* 最大包大小：数据包的大小（以字节为单位）。此值可以根据您的网络和系统功能进行调整。

  .

### 安全性

在安全设置中，您可以配置安全网络通信 (SNC)。

#### 与 SNC 合作的先决条件

按照以下步骤在 数据移动网关 计算机上安装 Secure Network Communication (SNC) 客户端。

您所需的项目

* SAP 服务器的导出证书 (.crt)
* SAPCAR.EXE
* SAP 用户（授权客户）
* 安装在相应 SAP 服务器上的加密库版本

安装 SNC 客户端

1. 为 SAP SNC 文件和二进制文件创建一个工作区文件夹（以下简称“您的 SNC 文件夹”），例如： /opt/snc/

2. 复制导出的服务器证书和 SAPCAR.EXE 到您的 SNC 文件夹。

3. 转到 https://support.sap.com/en/my-support/software-downloads.html 并在安装和更新下搜寻 SAPCRYPTOLIB。将 64 位置 .SAR 下载到您的 SNC 文件夹。

4. 打开命令提示符并将工作目录更改为 SNC 文件夹。然后运行以下命令将 .SAR 的内容解压缩到 SNC 文件夹中：

   `sapcar -xvf LibName.sar`

   ：

   `sapcar -xvf SAPCRYPTOLIBP_8541-20011731_32.SAR`

5. 按如下方式添加系统环境变量：

   1. 添加一个名为 SECUDIR 的系统环境，将 SNC 文件夹的路径作为其值。
   2. 添加名为QLIK\_SNC\_LIB 的系统环境变量，其中包含 sapcrypto.dll 文件的路径作为其值。
   3. 将新添加的环境变量添加到“PATH”环境变量中。

6. 确定 &lt;PSE\_File\_Name&gt; 并选择 &lt;PSE\_PIN&gt; 对其进行保护。您需要在接下来的步骤中提供此信息。

   ：

   `pseName: "CN=USR,OU=SAP,O=Qlik,C=IS" password: password123`

7. 确定 &lt;SNC\_NAME&gt;。它看上去应该是这样的：`CN=USR, OU=SAP, O=Qlik, C=IS`

   另请参阅下面的 [确定服务器 SNC 名称](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/SAP-ODP/sap-odp-properties.htm#Getting)。

8. 确保您具有访问和执行 SECUDIR 文件夹中的文件所需的权限，然后运行以下命令以生成 PSE 文件：

   `sapgenpse get_pse -p <PSE_File_Name>.pse -x <PSE_PIN> <SNC_NAME>`

   ：

   `sapgenpse get_pse -p usr.pse -x password123 "CN=USR,OU=SAP,O=Qlik,C=IS"`

9. 通过在 数据移动网关 计算机上运行以下命令，将 PSE 文件与 OS 用户绑定，并在 SECUDIR 文件夹中创建 CRED\_V2 文件：

   `sapgenpse seclogin -p <PSE_File_Name>.pse -x <PSE_PIN> -O <OS_USER>`

   ：

   `sapgenpse seclogin -p usr.pse -x password123 -O SYSTEM`

10. 通过运行以下命令生成 CRT 文件：

    `sapgenpse export_own_cert -o <PSE_File_Name>.crt -p <PSE_File_Name>.pse -x <PSE_PIN>`

    ：

    `sapgenpse export_own_cert -o usr.crt -p usr.pse -x password123`

11. 通过运行以下命令将 SAP 应用程序服务器证书 (&lt;SERVER\_CRT&gt;) 导入 PSE：

    `sapgenpse maintain_pk -a <SERVER_CRT>.crt -p <PSE_File_Name>.pse -x <PSE_PIN>`

    ：

    `sapgenpse maintain_pk -a sapsys.crt -p usr.pse -x password123`

12. 要验证 SAP Server 的 PSE 的 DN 是否已导入客户端，请运行以下命令，然后检查“subject”值：

    `sapgenpse maintain_pk -v -l -p <PSE_File_Name>.pse`

    ：

    `sapgenpse maintain_pk -v -l -p usr.pse`

导入客户端证书

1. 连接到 SAP Application Server 并使用授权用户导航到“STRUST”事务。
2. 双击 SNC (SAPCryptolib) 文件夹。
3. 单击 ![显示更改按钮](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/change-button-sap.png) 以切换到更改视图。
4. 单击 ![证书导入按钮](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/import-cert-sap.png) 以导入证书
5. 在新对话框中，输入先前创建的 .crt 文件的路径，然后单击“继续”。
6. 在证书部分验证证书的详细信息。
7. 单击添加到证书列表将证书添加到列表中。
8. 保存更改。

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/SAP-ODP/sap-odp-properties.htm)确定服务器 SNC 名称

有两种方法可以确定服务器名称：

* 方法 1：使用 OpenSSL 命令解密服务器 CRT 文件。服务器名称将是主题的一部分。
* 方法 2：此方法需要适当的权限。连接到系统时：
  1. 运行 RZ10 事务。

  2. 选择系统配置文件。

  3. 选择扩展维护选项，然后单击显示。

  4. snc/identity/as 参数的值应该是 SNC 名称。

配置 SNC 连接器设置

在 SAP ODP 连接器 中如下配置 SNC 设置：

* 激活安全网络通信 (SNC)：选择以打开 SNC。

* SNC 名称：SNC 合作伙伴名称。

  ：

  p:CN=SYS, OU=SAP, O=Qlik, C=IS

* SNC 保护质量 - 选择以下选项之一：

  * 仅身份验证：选择以验证 SAP ODP 计算机的身份。这是 SNC 提供的最低保护级别。
  * 完整性保护：选择可检测 Qlik Talend Data Integration 计算机和 SAP ODP 计算机之间可能发生的任何数据更改或操作。
  * 隐私保护：选择此选项可加密正在传输的邮件以防止窃听。隐私保护还包括完整性保护。这是 SNC 提供的最大保护级别。
  * 可用的最大安全性：SAP ODP 计算机支持的最大数据保护级别。

### 内部属性

内部属性用于特殊用例，因此不会在对话框中公开。只有在 Qlik 支持部门的指示下，您才应该使用它们。

使用字段右侧的 the 新建 icon 和 the 取消 icon 按钮可以根据需要添加或删除特性。

### 名称

安全连接的显示名称。

## 定义元数据

配置完连接属性后，单击确定。连接元数据视图将打开。如 [连接到 SaaS 应用程序](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-web-applications.htm#Managing) 中所述，定义连接的元数据。您可以稍后根据需要编辑元数据，方法是执行以下操作之一：

* 从为项目中的 SAP ODP 连接显示的 the 元数据 icon 菜单中选择。
* 从连接视图中显示的 SAP ODP 连接的 the 元数据 icon 菜单中选择。