各製品の資料を入手。
詳細はこちら →JRuby からSAP HANA XS Advanced にデータ連携
リアルタイムSAP HANA XS Advanced に連携するシンプルなJRuby アプリケーションを作成します。
最終更新日:2022-10-23
この記事で実現できるSAP HANA XS Advanced 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
JRuby はRuby プログラミング言語の高性能で安定した、完全にスレッド化されたJava 実装です。CData JDBC Driver for SAPHanaXSA を使用すると、JRuby からリアルタイムSAP HANA XS Advanced へのデータ連携を簡単に実装できます。ここでは、SAP HANA XS Advanced に接続し、クエリを実行して結果を表示する簡単なJRuby アプリを作成する方法を説明します。
SAP HANA XS Advanced のデータにJDBC で接続
アプリを作成する前に、JDBC Driver のJAR ファイルのインストール場所をメモします。 (通常はC:\Program Files\CDatat\CData JDBC Driver for SAPHanaXSA\libにあります。)
JRuby は、JDBC をネイティブにサポートしているため、簡単にSAP HANA XS Advanced に接続してSQL クエリを実行できます。java.sql.DriverManager クラスのgetConnection 関数を使用してJDBC 接続を初期化します。
SAP HANA XSA 接続プロパティの取得・設定方法
SAP HANA XSA はOAuth 認証標準を利用しています。接続する前に、SAP HANA XSA OData サービスを確立する必要があります。ヘルプドキュメントの「カスタムOAuth アプリの作成」セクションを参照してください。
OAuthPassword グラント種別を使用してSAP HANA XSA に接続するには、以下を設定します。
- OAuthClientId:UAA サービスJSON ファイルで指定されたClient Id に設定。
- OAuthClientSecret:UAA サービスJSON ファイルで指定されたClient Secret に設定。
- Url:OData サービスエンドポイントに設定。
- XSUAAURL:UAA サービスURL に設定。
- User:アカウントのユーザー名に設定。
- Password:アカウントのパスワードに設定。
OData サービスを設定したら、カスタムクレデンシャルを使用して接続を確立できます。
ビルトイン接続文字列デザイナー
JDBC URL の構成については、SAP HANA XS Advanced JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.saphanaxsa.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。

以下はSAP HANA XS Advanced の一般的なJDBC 接続文字列です。
jdbc:saphanaxsa:OAuthClientID=my-ouath-client-id;OAuthClientSecret=my-oauth-client-secret;URL=https://hxehost:51027/euro.xsodata;CallbackURL=http://localhost:33333;InitiateOAuth=GETANDREFRESH
SAP HANA XS Advanced のデータへの接続性を持つJRuby アプリを作成
新しいRuby ファイル(例: SAPHanaXSASelect.rb) を作成してテキストエディタで開き、次のコードをファイルにコピーします。
require 'java'
require 'rubygems'
require 'C:/Program Files/CData/CData JDBC Driver for SAPHanaXSA 2018/lib/cdata.jdbc.saphanaxsa.jar'
url = "jdbc:saphanaxsa:OAuthClientID=my-ouath-client-id;OAuthClientSecret=my-oauth-client-secret;URL=https://hxehost:51027/euro.xsodata;CallbackURL=http://localhost:33333;InitiateOAuth=GETANDREFRESH"
conn = java.sql.DriverManager.getConnection(url)
stmt = conn.createStatement
rs = stmt.executeQuery("SELECT , FROM ")
while (rs.next) do
puts rs.getString(1) + ' ' + rs.getString(2)
end
ファイルが完成したら、コマンドラインからファイルを実行するだけでJRuby でSAP HANA XS Advanced を表示できるようになります。
jruby -S SAPHanaXSASelect.rb
SQL-92 クエリをSAP HANA XS Advanced に書き込むと、SAP HANA XS Advanced を独自のJRuby アプリケーションに素早く簡単に組み込むことができます。今すぐ無料トライアルをダウンロードしましょう。