Python可以用来查询SAP数据库吗?SAP可以使用Python吗?
回答
Python SAP RFC module似乎无效 - last (insignificant) commit 2年前 - 但可以为您服务:
Pysaprfc是围绕SAP librfc的包装(在Windows librfc32.dll,librfccm.so或librfc.so在Linux上)。它使用Thomas Heller的优秀ctypes扩展包访问librfc并定义SAP兼容数据类型。
现代SAP版本去Web Service
way - 你可以建立一个SAP Web Service
和Python
使用它。
借助SAP NetWeaver,开发人员可以连接应用程序和数据源,以使用Web服务集成流程。
特别是,开发人员可以使用一种基础架构以基于行业标准的方式定义,实施和使用Web服务。 SAP NetWeaver支持同步,异步,有状态和无状态Web服务模型 - 支持开发人员支持不同的集成方案。
sapnwrfc
支持此功能SAP NetWeaver
,supersedes旧的RFC SDK,并积极维护。
+1:使用urllib2编写Python web服务非常容易。 – 2009-09-23 17:19:43
伟大的,Web服务是要走的路! – 2009-09-24 10:35:47
这显然是这个问题的技术答案 - 但如果你只是在写查询,为什么? SQ01和SQVI提供对数据库的查询访问权限。 – 2009-09-24 13:44:00
SAP不是数据库服务器。 但是使用Python SAP RFC模块,您可以很容易地查询大多数表。它使用一些sap不受支持的功能(世界上所有人都在使用)。这个函数对字段大小和数据类型有一些限制。
那么,SAP有很多功能...... – 2009-09-24 10:08:07
好吧,您可以将它用作数据库服务器 - 尽管它非常昂贵:P – Esti 2009-09-29 06:46:31
如果你谈论的是(以前被命名)的SAP数据库AKA SapDb,现在是MaxDB(一会儿也分布由MySQL公司,now再由SAP只有 - 等命名SAP MaxDB)它带有几个Python访问模块,记录在here。
这是我可以附加到“SAP作为数据库引擎”的唯一含义 - 您要访问SAP MaxDB。其他答案做出不同的假设,并且(我相信)在这些不同的假设下也是正确的。
原始问题不是很清楚,您的解释非常合适。在该领域的SAP安装不使用SAP MaxDB,所以我猜想的意思有点不同。 – gimel 2009-09-24 04:54:14
其实,我的意思是平均SAP安装,请原谅我的模糊性。 – 2009-09-24 10:36:34
如上所述,当您只想读表或执行RFC或BAPI调用时,可以将CPython与未维护的Python SAP RFC模块或Piers Harding的SAP RFC一起使用。只读表的RFC调用是RFC_GET_TABLE_ENTRIES或RFC_READ_TABLE,其中前者是首选,但也不会发布给客户。
对于更正式的方式,您可以使用SAP的JCO连接器与Jython或SAP的.Net连接器与Ironpython;这两个连接器都可以从SAP的服务市场下载,并且都可以调用RFC功能,包括上面列出的两个调用。如上所述,SAP提出的访问后端功能的方式是通过SAP庞大的SOA基础架构实现的。在这里你可以使用Jython和例如Axis库或Ironpython with Microsofts WCF。请注意,由SAP提供的服务显然不允许您访问普通表,而只能调用服务提供的内容。 SAP已经提供了大约3.000个服务(参见SDN上的ES Wiki),创建自己的服务实际上已经非常简单,只要您在启用远程的功能模块中拥有业务逻辑即可。
Python的RFC连接器现在可作为SAP open source
SAP现在有一个Python的RFC连接器称为pyrfc。这取代了sapnwrfc。
这可以被发现在:https://github.com/SAP/PyRFC
“的pyrfc Python包提供了Python绑定的SAP NetWeaver RFC库,用于调用从ABAP Python和Python模块ABAP模块的一个舒适的方式,通过SAP远程函数调用(RFC)协议“。
@bsrdjan PyRFC是否可以自动执行用户在SAP GUI上执行的任务? (用于测试自动化) – 2016-09-08 15:12:28
它取决于你想调用的函数,并不是所有函数都被写入与RFC一起工作。它已经有一段时间了,但深入研究每个函数的文档将揭示它是否可以通过RFC – hansonap 2016-09-08 21:46:51
调用。如果与[CCo](http://cco.stschnell.de/)或JCo相比较 - PyRFC是否覆盖了相同的功能? – 2016-09-12 10:26:30
- 1. 我可以用sshtunnel使用Python Peewee吗?
- 2. pythondotnet可以使用堆栈python 2.7.2吗?
- 3. 我可以使用GAE + python 2.7 + django.utils.translation吗?
- 4. 我可以在giraph中使用python吗?
- 5. 我可以在Python 2.5.6中使用Python 3 super()吗?
- 6. 你可以在Python 2.4中使用python-daemon吗?
- 7. PHP可以更像Python吗?
- 8. 我可以在python中使用sqlite3以后的版本吗?
- 9. 程序员可以去SAP课程的功能模块吗?
- 10. Python中可以存在“软引用”吗?
- 11. 这可以用SQLAhclemy/Python来完成吗?
- 12. 我可以在Python中调用Perl吗?
- 13. 我可以用Python包装USB棒吗?
- 14. 你可以用python-socketio做django吗?
- 15. 可以使用LISTAGG吗?
- 16. ELMAH可以使用Oracle.ManagedDataAccess吗?
- 17. 使用Ruby 1.8.5可以吗?
- 18. mootools.js可以使用microsoftajax.js吗?
- 19. UIMoviePlayerController ...可以使用它吗?
- 20. SVD可以使用Skydrive吗?
- 21. 可以使用JAXX吗?
- 22. iMac可以使用CLLocationManager吗?
- 23. 使用__doPostBack()可以吗?
- 24. VS2010可以使用VisualStudio.com吗?
- 25. 可以使用GoTo吗?
- 26. 我可以使用PayPal吗?
- 27. web2py可以使用svn吗?
- 28. 可以使用Cassandra Collections吗?
- 29. 我可以使用SAP UI5 mockserver而无需OData的模型
- 30. 是否可以使用SAP B1的DI SDK访问PPSONE数据?
SAP作为数据库引擎!你能详细说明一下吗? – middus 2009-09-23 20:47:41
我的意思是SAP是一个非常复杂的系统,但为了这个问题的目的,我只需要能够得到ABAP程序的输出(他们称之为输出'list',我认为)。 – 2009-09-24 10:07:19
你指的是一个叫做“abap list”的东西。从外部获得相同的输出并不容易。大部分标准的不是作为功能实现的。所以如果没有一些abap编程,你就无法从外部输出。 – 2009-09-29 07:17:19