SAP PI 7.5 JDBC发送器适配器-PI并没有读取所有列

2020-09-02 11:27发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在研究一种JDBC <-> PI <-> SAP方案。

似乎正在发生的事情是,只有事务ID(主键之一)正在从表中读取,而其余字段在PI中以BLANK的形式出现。 我创建的结构类似于我正在选择的结构。

如果我直接在SQL Developer中运行SELECT查询,则会选择所有相关列。

我直接在Channel中使用SELECT语句。

附加了通道,并显示了ESR对象屏幕

PI中的频道轮询结果:

<?xml版本=" 1.0"编码=" UTF-8"?>

25511576

< ORDER_NUMBER />

< ORDER_LINE_NO />//未填充数据库值

< 状态 />

< 消息 />

esr-mt.jpg (39.9 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在研究一种JDBC <-> PI <-> SAP方案。

似乎正在发生的事情是,只有事务ID(主键之一)正在从表中读取,而其余字段在PI中以BLANK的形式出现。 我创建的结构类似于我正在选择的结构。

如果我直接在SQL Developer中运行SELECT查询,则会选择所有相关列。

我直接在Channel中使用SELECT语句。

附加了通道,并显示了ESR对象屏幕

PI中的频道轮询结果:

<?xml版本=" 1.0"编码=" UTF-8"?>

25511576

< ORDER_NUMBER />

< ORDER_LINE_NO />//未填充数据库值

< 状态 />

< 消息 />

esr-mt.jpg (39.9 kB)
付费偷看设置
发送
2条回答
悠然的二货
1楼-- · 2020-09-02 12:25

大家好,

我想我找到了问题,但不确定如何解决。 PI能够选择" transaction_id",因为它的类型为" NUMBER",其余所有类型均为VARCHAR2。 如果我阅读了VARCHAR2以外的任何其他专栏,则可以在PI中进行获取。 鉴于STRING无法正常工作,任何人都可以建议应使用哪种数据类型来读取VARCHAR2。 ..

任何帮助将不胜感激...

p.s。 使用的数据库是Oracle

非常感谢!

此致

Anuj

骆驼绵羊
2楼-- · 2020-09-02 12:11

嗨Anuj,

当我们尝试连接Oracle 9i时,我在PI 7.5中遇到了同样的问题。 我希望您也连接到相同的oracle版本。

在我的情况下,相同的接口可用于oracle v 12c。 但是在oracle9i中,varchar2数据类型在获取记录时不会出现在PI中。

我向SAP提交了一张票以进行进一步调查。

根据SAP

""请注意,Oracle9是一个非常老的数据库,并且多年来一直不受支持。
您所面临的问题也早已提出,这是由于Oracle9中的问题造成的(这是 这不是PI方面的问题。

一个解决方案是将数据类型从VARCHAR2更改为CLOB(这已经过测试,可以正常工作)。
当varchar2作为不带大小的参数传递时,Oracle 9将其视为1个字符 大小,而对于其他Oracle DB版本(11和12),该大小为30个字符。

请尝试将数据类型更改为CLOB,然后再次测试,它应该可以正常工作。"

希望此回复对您和其他人有帮助。

一周热门 更多>