JRuby からOracle Eloqua Reporting にデータ連携
JRuby はRuby プログラミング言語の高性能で安定した、完全にスレッド化されたJava 実装です。CData JDBC Driver for OracleEloquaReporting を使用すると、JRuby からリアルタイムOracle Eloqua Reporting へのデータ連携を簡単に実装できます。ここでは、Oracle Eloqua Reporting に接続し、クエリを実行して結果を表示する簡単なJRuby アプリを作成する方法を説明します。
Oracle Eloqua Reporting のデータにJDBC で接続
アプリを作成する前に、JDBC Driver のJAR ファイルのインストール場所をメモします。 (通常はC:\Program Files\CDatat\CData JDBC Driver for OracleEloquaReporting\libにあります。)
JRuby は、JDBC をネイティブにサポートしているため、簡単にOracle Eloqua Reporting に接続してSQL クエリを実行できます。java.sql.DriverManager クラスのgetConnection 関数を使用してJDBC 接続を初期化します。
Oracle Eloqua Reporting では、以下の認証方法に対応しています。
- Basic 認証(ユーザーとパスワード)
- OAuth 2.0 コードグラントフロー
- OAuth 2.0 パスワードグラントフロー
Basic 認証(ユーザーとパスワード)
ユーザーとパスワードで認証するには、以下のプロパティを設定します。
- AuthScheme: Basic を指定します。
- Company: Oracle Eloqua Reporting アカウントに関連付けられた会社名を指定します。
- User: ログインアカウント名を指定します。
- Password: ログインパスワードを指定します。
OAuth 認証(コードグラントフロー)
OAuth コードグラントフローで認証するには、AuthScheme を OAuth に設定し、カスタム OAuth アプリケーションを作成します。カスタム OAuth アプリケーションの作成方法については、ヘルプドキュメントをご参照ください。
続いて、以下のプロパティを設定します。
- InitiateOAuth: GETANDREFRESH を指定します。OAuthAccessToken の自動取得と更新に使用します。
- OAuthClientId: アプリケーション登録時に割り当てられたクライアント ID を指定します。
- OAuthClientSecret: アプリケーション登録時に割り当てられたクライアントシークレットを指定します。
- CallbackURL: アプリケーション登録時に定義したリダイレクト URI を指定します。
接続すると、デフォルトブラウザで Oracle Eloqua Reporting の OAuth エンドポイントが開きます。ログインしてアプリケーションに権限を付与してください。アクセストークンの有効期限が切れると、ドライバーが自動的に更新します。
OAuth 認証(パスワードグラントフロー)
OAuth パスワードグラントフローでは、OAuth アプリケーションの資格情報とユーザー資格情報を組み合わせて認証できます。ブラウザでの手動による権限付与は必要ありません。この認証方法を使用するには、OAuth アプリを作成する必要があります(ヘルプドキュメントを参照)。
以下のプロパティを設定します。
- AuthScheme: OAuthPassword を指定します。
- Company: 会社の一意の識別子を指定します。
- User: ログインアカウント名を指定します。
- Password: ログインパスワードを指定します。
- OAuthClientId: カスタム OAuth アプリケーション登録時に割り当てられたクライアント ID を指定します。
- OAuthClientSecret: カスタム OAuth アプリケーション登録時に割り当てられたクライアントシークレットを指定します。
ビルトイン接続文字列デザイナー
JDBC URL の構成については、Oracle Eloqua Reporting JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.oracleeloquareporting.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下はOracle Eloqua Reporting の一般的なJDBC 接続文字列です。
jdbc:oracleeloquareporting:AuthScheme=Basic;User=user;Password=password;Company=MyCompany;
Oracle Eloqua Reporting のデータへの接続性を持つJRuby アプリを作成
新しいRuby ファイル(例: OracleEloquaReportingSelect.rb) を作成してテキストエディタで開き、次のコードをファイルにコピーします。
require 'java'
require 'rubygems'
require 'C:/Program Files/CData/CData JDBC Driver for OracleEloquaReporting 2018/lib/cdata.jdbc.oracleeloquareporting.jar'
url = "jdbc:oracleeloquareporting:AuthScheme=Basic;User=user;Password=password;Company=MyCompany;"
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 でOracle Eloqua Reporting を表示できるようになります。
jruby -S OracleEloquaReportingSelect.rb
SQL-92 クエリをOracle Eloqua Reporting に書き込むと、Oracle Eloqua Reporting を独自のJRuby アプリケーションに素早く簡単に組み込むことができます。今すぐ無料トライアルをダウンロードしましょう。