Node.js で SAP のデータを MySQL データベースとしてクエリ

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
Node.js からSAP のデータに対して MySQL クエリを実行する方法を紹介します。

SAP 用の ODBC Driver の SQL Gateway を使用すると、MySQL インターフェース経由でSAP のデータをクエリできます。以下の手順に従って、SQL Gateway の MySQL リモーティングサービスを起動し、Node.js からクエリを開始してください。

SAP データ連携について

CData は、SAP のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:

  • SAP R/3、SAP NetWeaver、SAP ERP / ECC 6.0、RFC によって公開されている SAP S/4 HANA オンプレミスデータを含む、すべてのエディションの SAP にアクセスできます。
  • SQL ストアドプロシージャを通じて、IDoc または IDoc XML ファイルのサーバーへの送信、関数やクエリ用のスキーマの作成などのアクションを実行できます。
  • お客様の SAP インスタンスがホストされている場所に応じて、最適に接続できます。
    • SAP S/4HANA クラウドパブリックエディションをご利用のお客様は、SAP NetWeaver Gateway 接続を使用します
    • SAP S/4HANA プライベートエディションをご利用のお客様は、SAP ERP または SAP NetWeaver Gateway 接続のいずれかを使用します。

多くのユーザーは、SAP データをデータベースやデータウェアハウスにレプリケートするために当社のツールを活用していますが、Tableau、Power BI、Excel などの分析ツールとライブ SAP データを統合しているお客様も多数います。


はじめに


SAP のデータに接続

まだ行っていない場合は、データソース名(DSN)で必要な接続プロパティの値を指定してください。組み込みの Microsoft ODBC データソースアドミニストレーターを使用して DSN を設定できます。これはドライバーインストールの最後のステップでもあります。Microsoft ODBC データソースアドミニストレーターを使用して DSN を作成・設定する方法については、ヘルプドキュメントの「はじめに」の章を参照してください。

SAP への接続はlibrfc32.dll、librfc32u.dll、NetWeaver、Web Services (SOAP) のどれかで行います。 ConnectionType 接続プロパティをCLASSIC (librfc32.dll)、CLASSIC_UNICODE (librfc32u.dll)、NETWEAVER、SOAP に設定します。

SOAP を使う場合、Client、RFCUrl、SystemNumber、User、Password のプロパティを設定します。

それ以外の方法の場合、Host、User、Password、Client、SystemNumber を指定します。

Note: librfc32.dll やその他のSAP 接続には対応しておりません。SAP インストールから対応する接続モジュールをマシンにインストールしておいてください。

詳細情報はobtaining the connection properties を参照してください。

SQL Gateway を設定

SQL Gateway 概要を参照して、SAP のデータ を仮想 MySQL データベースとして接続を設定してください。クライアントからの MySQL リクエストをリッスンする MySQL リモーティングサービスを設定します。サービスは SQL Gateway UI で設定できます。

SQL Gateway で MySQL リモーティングサービスを作成(Salesforce の例)

Node.js から SAP をクエリ

以下の例では、mysql モジュールを使用して SAP への接続を定義し、クエリを実行する方法を示しています。以下の情報が必要です。

  • ホスト名またはアドレス、およびポート:MySQL リモーティングサービスが MySQL 接続をリッスンしているマシンとポート
  • ユーザー名パスワード:SQL Gateway の Users タブで認証したユーザーのユーザー名とパスワード
  • データベース名:MySQL リモーティングサービス用に設定した DSN

以下のコードでSAP のデータに接続し、クエリの実行を開始できます。

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'localhost',
  database : 'CData SAPERP Sys',
  port	   : '3306',
  user     : 'mysql_user',
  password : 'test'
});
connection.connect();
connection.query('SELECT * FROM MARA', function(err, rows, fields) {
  if (err) throw err;
  console.log(rows);
});

connection.end();

はじめる準備はできましたか?

SAP ERP ODBC Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

SAP ERP Icon SAP ERP ODBC Driver お問い合わせ

SAP ODBC Driver は、ODBC 接続をサポートするさまざまなアプリケーションからSAP への接続を実現するパワフルなツールです。

標準のODBC ドライバーインターフェースを使用して、データベースのようにSAP データにアクセスできます。