SAP HANA XS Advanced のデータ の PostgreSQL インターフェースを作成(MySQL リモーティング経由の JDBC)

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
SAP HANA XS Advanced JDBC Driver のリモート機能を使用して、データアクセス用の PostgreSQL エントリポイントを作成します。

PostgreSQL には多くの対応クライアントがあります。標準のドライバーから BI、アナリティクスツールまで、PostgreSQL はデータ接続の人気のインターフェースです。JDBC ドライバーのリモーティング機能を使用することで、任意の標準クライアントから接続できる PostgreSQL エントリポイントを簡単に作成できます。

SAP HANA XS Advanced のデータ に PostgreSQL データベースとしてアクセスするには、CData JDBC Driver for SAP HANA XS Advanced のリモーティング機能と、EnterpriseDB の MySQL Foreign Data Wrapper(FDW)を使用します。この記事では、FDW をインストールし、PostgreSQL Server からSAP HANA XS Advanced のデータにクエリを実行する方法を説明します。

SAP HANA XS Advanced への接続を設定

以下の手順に従って、SAP HANA XS Advanced への接続に必要な認証情報やその他の接続プロパティをドライバーの MySQL デーモンに設定します。MySQL デーモンは、SAP HANA XS Advanced のデータ を CDataSAPHanaXSA という名前の MySQL データベースとして公開します。デーモンの設定ファイル内の databases セクションに接続プロパティを追加します。設定ファイルは、ドライバーのインストールディレクトリの lib サブフォルダにあります。

以下は一般的な接続文字列です:


[databases]
sap hana xs advanced = "OAuthClientID=my-ouath-client-id;OAuthClientSecret=my-oauth-client-secret;URL=https://hxehost:51027/euro.xsodata;CallbackURL=http://localhost:33333;"

また、users セクションにユーザーを作成します。

MySQL デーモンのすべての設定オプションについては、ヘルプドキュメントをご参照ください。

リモーティングサービスを開始

以下の手順に従って、CData JDBC Driver for SAP HANA XS Advanced の MySQL リモーティング機能を有効にします。

  1. ドライバーはテスト用に適したデフォルト設定を作成します。サービスを開始するだけでSAP HANA XS Advanced のデータに接続できます。

  2. 以下のコマンドで MySQL リモーティングサービスを開始します:
    java -jar cdata.jdbc.saphanaxsa.jar -f cdata.jdbc.saphanaxsa.remoting.ini
    

MySQL Foreign Data Wrapper をビルドしてインストール

Foreign Data Wrapper は、PostgreSQL を再コンパイルせずに、PostgreSQL の拡張機能としてインストールできます。

お使いの OS で pgxn が利用可能な場合は、以下のコマンドでインストールできます:

pgxn install mysql_fdw USE_PGXS=1

利用できない場合は、以下の手順で自分でビルドしてください:

  1. MySQL C クライアントライブラリをインストールし、EnterpriseDB の MySQL 用 FDW のソースを取得します(例:GitHub から)。
  2. FDW をビルドします。pg_config と mysql_config の実行ファイルを PATH に追加してください:
    env PATH=/usr/local/pgsql/bin:/usr/local/mysql/bin:$PATH make USE_PGXS=1
    
  3. FDW をインストールします:
    make USE_PGXS=1 install
    

インストールを完了するには、libmysqlclient ライブラリを環境にロードする必要があります(例:パスに追加するなど)。

SAP HANA XS Advanced のデータ を PostgreSQL データベースとしてクエリ

拡張機能をインストールした後、以下の手順に従ってSAP HANA XS Advanced のデータへのクエリ実行を開始します:

  1. データベースにログインします。
  2. データベースの拡張機能をロードします:
    postgres=#CREATE EXTENSION mysql_fdw;
    
  3. SAP HANA XS Advanced のデータ 用のサーバーオブジェクトを作成します:
    postgres=# CREATE SERVER SAPHanaXSA FOREIGN DATA WRAPPER mysql_fdw OPTIONS (host
    '127.0.0.1', port '3309');
    
  4. MySQL デーモンに認識されているユーザーのユーザー名とパスワードでユーザーマッピングを作成します:
    postgres=# CREATE USER MAPPING for postgres SERVER SAPHanaXSA OPTIONS (username
    'admin', password 'test');
    
  5. ローカルスキーマを作成します:
    postgres=# CREATE SCHEMA SAPHanaXSA_db;
  6. デーモン設定ファイルで定義した SAP HANA XS Advanced データベース内のすべてのテーブルをインポートします:
    postgres=# IMPORT FOREIGN SCHEMA "SAPHanaXSA" FROM SERVER SAPHanaXSA INTO SAPHanaXSA_db;
    

これで SAP HANA XS Advanced に対して SELECT コマンドを実行できます:

postgres=# SELECT * FROM SAPHanaXSA_db."";

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

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

 ダウンロード

詳細:

SAP HANA XS Advanced Icon SAP HANA XS Advanced JDBC Driver お問い合わせ

SAP HANA XS Advanced データベースに連携するJava アプリケーションを素早く、簡単に開発できる便利なドライバー。