最近,我计划使用Python通过RFC从SAP获取数据。我在网上搜索并选择PyRFC库来完成任务。除了连接,一切正常。代码在连接到SAP时停止并显示错误消息。代码如下:
import pyrfc
def get_connection(connmeta):
print('Connecting ...', connmeta['ashost'])
return Connection(**connmeta)
TEST = { 'user' : 'XX',
'passwd' : 'XX',
'ashost' : 'XXX.XXX.XXX.XXX',
'sysnr' : '00',
'client' : '400',
'lang' : 'EN' }
conn = get_connection(TEST)
ERROR Message
pyrfc._exception.CommunicationError: RFC_COMMUNICATION_FAILURE (rc=1): key=RFC_COMMUNICATION_FAILURE, message=
LOCATION CPIC (TCP/IP) on local host XXX-XXXXXXX with Unicode
ERROR partner 'XXX.XXX.XXX.XXX:3300' not reached
TIME Tue Nov 13 16:33:59 2018
RELEASE 721
COMPONENT NI (network interface)
VERSION 40
RC -10
MODULE nixxi.cpp
LINE 3283
DETAIL NiPConnect2: XXX.XXX.XXX.XXX:3300
SYSTEM CALL connect
ERRNO 10061
ERRNO TEXT WSAECONNREFUSED: Connection refused
COUNTER 2
[MSG: class=, type=, number=, v1-4:=;;;]
看来问题出在服务器的防火墙上。我在网上搜索了大多数类似的答案,包括SAP的社区。在
然后我远程登录SAP的IP端口并超时。关闭端口可能导致连接失败。在
但在使用Python之前,我使用VBA从SAP获取数据。VBA中的配置与Python中的配置几乎相同
^{pr2}$它工作得很好,但是效率很慢,这就是为什么我选择Python作为解决方案。在
我不明白为什么VBA成功了,而python失败了。在
我被困在这里几天,谁能帮我解决这个问题?在
谢谢~
此邮件似乎是网络问题:
“拒绝连接”是一个标准的TCP/IP错误消息,表示端口号不正确。再次检查,您的后端系统的SystemNumber是否真的是“00”。在
相关问题 更多 >
编程相关推荐