web-dev-qa-db-ja.com

SAPはPythonと連携できますか?

Pythonを使用してSAPデータベースのクエリを実行できますか?

25
ilya n.

Python SAP RFCモジ​​ュール は非アクティブのようです- last(insignificant)commit 2年前-が役立つかもしれません:

Pysaprfcは、SAP librfc(Windowsではlibrfc32.dll、Linuxではlibrfccm.soまたはlibrfc.so)のラッパーです。 Thomas Hellerによる優れたctypes拡張パッケージを使用して、librfcにアクセスし、SAP互換のデータ型を定義します。

最新のSAPバージョンは Web Service way -SAP Web ServiceおよびPythonから消費します。

SAP NetWeaverを使用すると、開発者はアプリケーションとデータソースを接続し、Webサービスを使用してプロセスを統合できます。

特に、開発者は1つのインフラストラクチャを使用して、業界標準ベースの方法でWebサービスを定義、実装、および使用できます。 SAP NetWeaverは、同期、非同期、ステートフル、ステートレスのWebサービスモデルをサポートしているため、開発者はさまざまな統合シナリオをサポートできます。

sapnwrfc これをサポートSAP NetWeaver機能、 supersedes 古いRFC SDKであり、積極的に維持されています。

20
gimel

Python RFCコネクタが SAPオープンソース として利用可能になりました

12
bsrdjan

(以前は何と呼ばれていた)SAPデータベースAKAについて話している場合 SapDb であり、現在は MaxDB (しばらくの間、MySql Incによっても配布されています 再びSAPのみが--そのため SAP MaxDB )という名前で、いくつかのPythonアクセスモジュール、ドキュメント here が付属しています) =。

これは、「データベースエンジンとしてのSAP」にアタッチできる唯一の意味であり、SAP MaxDBにアクセスする必要があります。他の答えは異なる仮定を行い、(私は信じます)も正しい...それらの異なる仮定の下で。

5
Alex Martelli

SAPにPython pyrfcと呼ばれるRFCコネクタが追加されました。これはsapnwrfcに取って代わります。

これは次の場所にあります https://github.com/SAP/PyRFC

「pyrfc PythonパッケージはPython SAP NetWeaver RFC Libraryのバインディングを提供し、PythonからABAPモジュールを快適に呼び出す方法を提供します。 =およびPython ABAPからのモジュール、SAPリモート関数呼び出し(RFC)プロトコルを介して。 "

4
hansonap

SAPはデータベースサーバーではありません。しかし、Python SAP RFCモジ​​ュールを使用すると、ほとんどのテーブルを非常に簡単にクエリできます。サポートされていない関数を使用しています(世界中で使用されています)。この関数には、フィールドサイズとデータ型。

4
Igal Serban

上記のように、テーブルを読み取るか、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のサービスマーケットプレイスからダウンロードでき、上記の2つの呼び出しを含むRFC機能を呼び出すことができます。

また、前述のように、SAPがバックエンド機能にアクセスするために提案した方法は、SAPの広大なSOAインフラストラクチャーを経由します。ここでは、たとえばJythonをAxisライブラリーやIronpythonとMicrosofts WCFで使用できます。注意してください。 SAPが提供するサービスでは、プレーンテーブルにアクセスできず、サービスが提供するものを呼び出すだけで済みます。SAPはすでに約3.000のサービスを提供しており(SDNのES Wikiを参照)、実際に独自のサービスを作成していますビジネスロジックがリモート対応の汎用モジュールに組み込まれると、非常にシンプルになります。

2
Frank Bechmann