使用 Azure 数据工厂或 Synapse Analytics 从 SAP Business Warehouse 复制数据
适用于:Azure 数据工厂 Azure Synapse Analytics
本文概述如何在 Azure 数据工厂和 Synapse Analytics 管道中使用复制活动从 SAP Business Warehouse (BW) 复制数据。 它是基于概述复制活动总体的复制活动概述一文。
提示
若要了解该服务对 SAP 数据集成方案的总体支持,请参阅使用 Azure 数据工厂进行 SAP 数据集成白皮书,其中包含有关每个 SAP 连接器的详细介绍、比较和指导。
支持的功能
此 SAP Business Warehouse 连接器支持以下功能:
支持的功能 | IR |
---|---|
复制活动(源/-) | ② |
Lookup 活动 | ② |
① Azure 集成运行时 ② 自承载集成运行时
有关复制活动支持作为源/接收器的数据存储列表,请参阅支持的数据存储表。
具体而言,此 SAP Business Warehouse 连接器支持:
- SAP Business Warehouse 版本 7.x 。
- 使用 MDX 查询从 InfoCubes 和 QueryCubes (包括 BEx 查询)复制数据。
- 使用基本身份验证复制数据。
注意
SAP Business Warehouse 连接器当前不支持使用 MDX 的参数。 如果需要使用 MDX 参数进行筛选,可以考虑改为使用备用 SAP Open Hub 连接器。
先决条件
若要使用此 SAP Business Warehouse 连接器,需要:
- 设置自承载集成运行时。 有关详细信息,请参阅自承载集成运行时一文。
- 在集成运行时计算机上安装 SAP NetWeaver 库 。 可以从 SAP 管理员处或直接从 SAP 软件下载中心获取 SAP Netweaver 库。 搜索“SAP Note #1025361” 获取最新版本的下载位置。 请确保选取与集成运行时安装匹配的 64 位 SAP NetWeaver 库 。 然后,按照 SAP 说明安装 SAP NetWeaver RFC SDK 中包含的所有文件。 SAP NetWeaver 库也包括在 SAP 客户端工具安装中。
提示
要解决 SAP BW 的连接问题,请确保:
- 从 NetWeaver RFC SDK 中提取的所有依赖项库都位于 %windir%\system32 文件夹中。 通常它有 icudt34.dll、icuin34.dll、icuuc34.dll、libicudecnumber.dll、librfc32.dll、libsapucum.dll、sapcrypto.dll、sapnwrfc.dll。
- 用于连接 SAP 服务器的所需端口在自承载 IR 计算机上启用,通常是端口 3300 和 3201。
入门
若要使用管道执行复制活动,可以使用以下工具或 SDK 之一:
使用 UI 创建到 SAP BW 的链接服务
使用以下步骤在 Azure 门户 UI 中创建一个到 SAP BW 的链接服务。
浏览到 Azure 数据工厂或 Synapse 工作区中的“管理”选项卡,并选择“链接服务”,然后单击“新建”:
搜索“SAP”并选择“通过 MDX 的 SAP BW”连接器。
配置服务详细信息、测试连接并创建新的链接服务。
连接器配置详细信息
对于特定于 SAP Business Warehouse 连接器的数据工厂实体,以下部分提供了有关用于定义这些实体的属性的详细信息。
链接服务属性
SAP Business Warehouse (BW) 链接服务支持以下属性:
属性 | 描述 | 必需 |
---|---|---|
type | type 属性必须设置为:SapBw | 是 |
server | SAP BW 实例所驻留的服务器的名称。 | 是 |
systemNumber | SAP BW 系统的系统编号。 允许值:用字符串表示的两位十进制数。 |
是 |
clientId | SAP W 系统中的客户端的客户端 ID。 允许值:用字符串表示的三位十进制数。 |
是 |
userName | 有权访问 SAP 服务器的用户名。 | 是 |
password | 用户密码。 将此字段标记为 SecureString 以安全地存储它,或引用存储在 Azure Key Vault 中的机密。 | 是 |
connectVia | 用于连接到数据存储的集成运行时。 如先决条件中所述,需要自承载集成运行时。 | 是 |
示例:
{
"name": "SapBwLinkedService",
"properties": {
"type": "SapBw",
"typeProperties": {
"server": "<server name>",
"systemNumber": "<system number>",
"clientId": "<client id>",
"userName": "<SAP user>",
"password": {
"type": "SecureString",
"value": "<Password for SAP user>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
数据集属性
有关可用于定义数据集的各部分和属性的完整列表,请参阅数据集一文。 本部分提供 SAP BW 数据集支持的属性列表。
要从 SAP BW 复制数据,请将数据集的 type 属性设置为“SapBwCube” 。 RelationalTable 类型的 SAP BW 数据集不支持任何类型特定的属性。
示例:
{
"name": "SAPBWDataset",
"properties": {
"type": "SapBwCube",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<SAP BW linked service name>",
"type": "LinkedServiceReference"
}
}
}
如果使用 RelationalTable
类型数据集,该数据集仍按原样受支持,但我们建议今后使用新数据集。
复制活动属性
有关可用于定义活动的各部分和属性的完整列表,请参阅管道一文。 本部分提供 SAP BW 源支持的属性列表。
SAP BW 作为源
若要从 SAP BW 复制数据,复制活动的 source 节支持以下属性:
属性 | 描述 | 必需 |
---|---|---|
type | 复制活动 source 的 type 属性必须设置为:SapBwSource | 是 |
查询 | 指定要从 SAP BW 实例读取数据的 MDX 查询。 | 是 |
示例:
"activities":[
{
"name": "CopyFromSAPBW",
"type": "Copy",
"inputs": [
{
"referenceName": "<SAP BW input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SapBwSource",
"query": "<MDX query for SAP BW>"
},
"sink": {
"type": "<sink type>"
}
}
}
]
如果使用 RelationalSource
类型源,该源仍按原样受支持,但我们建议今后使用新源。
SAP BW 的数据类型映射
从 SAP BW 复制数据时,以下映射用于从 SAP BW 数据类型映射到在服务内部使用的临时数据类型。 若要了解复制活动如何将源架构和数据类型映射到接收器,请参阅架构和数据类型映射。
SAP BW 数据类型 | 临时服务数据类型 |
---|---|
ACCP | int |
CHAR | String |
CLNT | String |
CURR | 小数 |
CUKY | String |
DEC | 小数 |
FLTP | Double |
INT1 | Byte |
INT2 | Int16 |
INT4 | int |
LANG | String |
LCHR | String |
LRAW | Byte[] |
PREC | Int16 |
QUAN | 小数 |
RAW | Byte[] |
RAWSTRING | Byte[] |
STRING | String |
UNIT | String |
DATS | String |
NUMC | String |
TIMS | String |
查找活动属性
若要了解有关属性的详细信息,请查看 Lookup 活动。
相关内容
有关复制活动支持作为源和接收器的数据存储的列表,请参阅支持的数据存储。