我是python新手。我想从sap系统中提取数据。我使用下面的代码创建了一个与sap系统的连接,并尝试使用sql查询获取数据。
从col1=2019的表\u name中选择col1、col2、col3
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形式提供数据,运行速度非常慢。
1条答案
按热度按时间qeeaahzv1#
有没有直接的方法来编写sql查询
不可以。pyrfc不用于直接sql查询,它只能调用现有的sap rfc模块。
与使用纯sql的函数模块有关的是函数组
RSDU_SQL_XXX
如果我们谈论oracle数据库,那么它就是
RSDU_EXEC_SQL_ORA
模块和通用RSDU_EXEC_SQL
.然而,他们不是rfc,所以不能使用pyrfc没有一些改动,所以你需要一个abap开发人员,否则你就走运了。