0

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

从 table_name 中选择 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 形式提供数据并且运行速度非常慢。

4

1 回答 1

0

有没有直接写sql查询的方法

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

关于纯 SQL 的功能模块的问题,请查看功能组RSDU_SQL_XXX

在此处输入图像描述

如果我们谈论 Oracle DB,那么它就是RSDU_EXEC_SQL_ORA模块和通用RSDU_EXEC_SQL的。

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

于 2020-06-10T09:48:49.790 回答