2020-08-16 21:21发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我正在尝试使用DB输入适配器从Hana View读取数据。 得到以下错误。 您能帮上忙吗?
[SP-3-100005](951.205)sp(16378)从结果集中检索列1的值时出错。 [SP-3-100005](951.205)sp(16378)由于错误检索列数据,结果行被跳过。 DBInput_Adapter :: getNext()getData失败。 消耗0条记录,65,821读取,65,821不良,0良好。
这里有几种可能性。 最可能的两个是:
1)您正在读取的数据库列与输入流/窗口中的字段定义之间的数据类型不匹配
2) 源和输入流/窗口之间的列可能不匹配。
如果您检查了数据类型并且看起来正确,那么请确保指定了从源到流的列的排列(映射)。
这是一个简短的示例,显示了输入适配器和输出适配器的排列映射:
创建输入流VBAP_stream1 SCHEMA (MATNR整数, MATKL琴弦 ARKTX字符串, NETWR_SUM十进制(15,2) ); ATTACH INPUT ADAPTER Generic_DB_Input1 TYPE db_in 到VBAP_stream1 性质 服务='hana_service', query ='从STREAMING_USER.VBAP_SOURCE GROUP BY MATNR,MATKL,ARKTX选择SELECT MATNR,MATKL,ARKTX,SUM(NETWR)NETWR_SUM', table ='\" STREAMING_USER \"。\" VBAP_SOURCE \"", 花期= 10 排列='MATNR = MATNR:MATKL = MATKL:ARKTX = ARKTX:NETWR_SUM = NETWR_SUM'; 附加输出适配器HANA_Output1 TYPE hana_out 到VBAP_stream1 性质 服务='hana_service', sourceSchema ='STREAMING_USER', table ='VBAP_DESTINATION', 排列='MATNR = MATNR:MATKL = MATKL:ARKTX = ARKTX:NETWR_SUM = NETWR_SUM';
在HANA数据库中将源表和目标表定义为:
创建列表STREAMING_USER.VBAP_SOURCE (MATNR INTEGER, MATKL CHAR(30), ARKTX CHAR(30), NETWR十进制(15,2) ); 创建列表STREAMING_USER.VBAP_DESTINATION (默认情况下,ROW_ID BIGINT主键是作为身份生成的, MATNR整数 MATKL CHAR(30), ARKTX CHAR(30), NETWR_SUM十进制(15,2) );
Robert,您好!感谢您的回复。 我已经验证了列,并且看起来正确,并且已经应用了排列,但是仍然遇到相同的问题。
我想强调一点,我想从Calculate View中读取内容。
最多设置5个标签!
这里有几种可能性。 最可能的两个是:
1)您正在读取的数据库列与输入流/窗口中的字段定义之间的数据类型不匹配
2) 源和输入流/窗口之间的列可能不匹配。
如果您检查了数据类型并且看起来正确,那么请确保指定了从源到流的列的排列(映射)。
这是一个简短的示例,显示了输入适配器和输出适配器的排列映射:
在HANA数据库中将源表和目标表定义为:
Robert,您好!感谢您的回复。 我已经验证了列,并且看起来正确,并且已经应用了排列,但是仍然遇到相同的问题。
我想强调一点,我想从Calculate View中读取内容。
一周热门 更多>