Подтвердить что ты не робот

Может ли SAP работать с Python?

Может ли Python использоваться для запроса базы данных SAP?

4b9b3361

Ответ 1

Python SAP RFC-модуль кажется неактивным - последний (незначительный) commit 2 года назад - но может служить вам:

Pysaprfc является оберткой вокруг SAP librfc (librfc32.dll для Windows, librfccm.so или librfc.so в Linux). Он использует превосходный пакет расширения ctypes Томаса Хеллера для доступа к librfc и для определения типов данных, совместимых с SAP.

Современные версии SAP переходят к Web Service - вы можете построить SAP Web Service и использовать его с Python.

В SAP NetWeaver разработчики могут подключать приложения и источники данных для интеграции процессов с использованием веб-служб.

В частности, разработчики могут использовать одну инфраструктуру для определения, внедрения и использования веб-сервисов на основе отраслевых стандартов. SAP NetWeaver поддерживает синхронные, асинхронные, устаревшие и безстоящие модели веб-сервисов, что позволяет разработчикам поддерживать различные сценарии интеграции.

sapnwrfc поддерживает эту функциональность SAP NetWeaver, заменяет более старый RFC SDK и активно поддерживается.

Ответ 2

Коннектор RFC Python теперь доступен как SAP open source

Ответ 3

Если вы говорите о том, что было названо, SAP Database AKA SapDb и теперь MaxDB (на некоторое время также распространяется через MySql Inc, теперь снова только SAP - и так называемый SAP MaxDB), он поставляется с несколькими модулями доступа Python, документированными .

Это единственное значение, которое я могу прикрепить к "SAP как движок базы данных" - вы хотите получить доступ к SAP MaxDB. Другие ответы делают разные предположения и (я считаю) также верны... при тех разных предположениях.

Ответ 4

Sap не является сервером базы данных. Но с помощью модуля Python SAP RFC вы можете легко запросить большую часть таблицы. Он использует некоторую неподдерживаемую функцию sap (которую использует весь мир). И эта функция имеет некоторое ограничение на размер поля и типы данных.

Ответ 5

Как указано выше, когда вы просто хотите читать таблицы или выполнять вызовы RFC или BAPI, вы можете использовать CPython с неподдерживаемым Python SAP RFC-модулем или Piers Harding SAP RFC. RFC призывает просто прочитать таблицу RFC_GET_TABLE_ENTRIES или RFC_READ_TABLE, где первая предпочтительнее, но также не выпущена для клиентов.

Для более официального использования вы можете использовать соединитель SAP JCO с Jython или SAP.Net Connector с Ironpython; оба разъема могут быть загружены с рынка услуг SAP, и оба позволяют вызывать функциональность RFC, включая два вызова, перечисленные выше.

Как указано выше, способ, которым SAP предлагает доступ к функциональным возможностям бэкэнд, - это обширная инфраструктура SOA через SAP. Здесь вы можете использовать Jython, например. библиотеку Axis или Ironpython с Microsoft WCF. Обратите внимание, что службы, предоставляемые SAP, очевидно, не позволят вам получить доступ к простым таблицам, вместо этого вы можете просто позвонить, что предоставляет служба. SAP уже предоставляет около 3.000 сервисов (см. ES Wiki на SDN), и создание собственной службы на самом деле прост, если у вас есть бизнес-логика в функциональном модуле с поддержкой удаленного доступа.

Ответ 6

В SAP теперь есть RFC-коннектор Python, называемый pyrfc. Это заменяет sapnwrfc.

Это можно найти по адресу: https://github.com/SAP/PyRFC

"Пакет pyfc Python обеспечивает привязки Python для RFC-библиотеки SAP NetWeaver для удобного способа вызова модулей ABAP из модулей Python и Python из ABAP по протоколу SAP Remote Function Call (RFC).