SAP RFC:大数据的分块

2024-04-27 16:51:27 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法用SAP-RFC将大结果“分块”成几个小部分?在

根据这些链接,你似乎需要自己实现分块:

我想避免这种情况,我希望有一种方法让SAP-RFC库进行分块。在

使用案例:

The result are 100k rows. I would like to fetch 1k rows until all rows are received.

我想这并不重要,但我将使用PyRFC作为我的代码。在


Tags: httpsgithubcom链接rfcthreadare分块
2条回答

根据这一点,issue #60saprfc不能进行分块。你需要打几个较小的RFC调用。在

那太可悲了。我想有几百个肮脏的本地分块解决方案,在专有的封闭源代码中,它们都一遍又一遍地解决同样的问题。在

RFC库在这里做不了什么:它只是发出一个请求,然后从R/3系统接收响应。所以如果R/3系统返回100k行,库将接收这些100k行,如果R/3系统返回这些行中的一块,那么库将只接收这一块。。。在

为了进行分块(或“分页”),双方(外部程序和被调用的ABAP代码)必须以某种方式进行合作。这不是通用库所能做的。在

RFC基本上遵循“请求-响应”模式,如果您想要更小的响应数据,那么客户机必须发出多个请求,服务器必须为每个请求只返回“总体数据”的一部分。在

编辑:我现在还阅读了你的问题60,如果你主要关心的是性能,那么你最好直接使用C/C++ NW RFC库代替Python包装器吗?在

我不熟悉Python是如何工作的,但是如果它与Java/JNI有些相似,那么我希望内存中的所有数据总共有两个副本:首先RFC库从线路接收数据并将其存储在C堆中,然后是一些C<;->;Python互操作层需要将数据复制到Python虚拟机上?!如果是这样,你可以通过在C/C++中编写提取器程序,来保证50%的内存消耗。在

相关问题 更多 >