使用PyRFC直接运行SQL查询

问题描述 投票:0回答:1

我是python的新手。我想从SAP System中提取数据。我使用以下代码创建了与SAP系统的连接,并尝试使用sql查询提取数据。

从表名中选择col1,col2,col3,其中col1 = 2019

import pyrfc
from pyrfc import Connection

conn = Connection(ashost='myhost', sysnr='00', client='000', user='xxx', passwd='***')

fields = ['col1','col2','col3']

table = 'table_name'

where = ['col1=2019']

MaxRows =5

fromrow = 0

tables = conn.call("RFC_READ_TABLE", QUERY_TABLE=table, FIELDS = fields,OPTIONS=where,ROWCOUNT = MaxRows,ROWSKIPS=fromrow)

有没有直接的方法可以编写sql查询(我们如何在oracle / sql中编写)。上面的代码以dict形式提供数据,并且运行速度非常慢。

sql sap saprfc function-module pyrfc
1个回答
0
投票

有写SQL查询的任何直接方法

不。 PyRFC不适用于直接SQL查询,它只能调用现有的SAP RFC模块。

与吃纯SQL的功能模块有关的是看功能组RSDU_SQL_XXX

enter image description here

如果我们谈论Oracle DB,则它是RSDU_EXEC_SQL_ORA模块和通用RSDU_EXEC_SQL

但是,它们不是RFC,因此如果不做一些改动就不能与PyRFC一起使用,因此您需要一个ABAP开发人员,否则您会不走运。

© www.soinside.com 2019 - 2024. All rights reserved.