Ready to get started?

Download a free trial of the SAP SuccessFactors Driver to get started:

 Download Now

Learn more:

SAP SuccessFactors Icon SAP SuccessFactors JDBC Driver

Rapidly create and deploy powerful Java applications that integrate with SAP SuccessFactors.

Connect to SAP SuccessFactors Data in JRuby



Create a simple JRuby app with access to live SAP SuccessFactors data.

JRuby is a high-performance, stable, fully threaded Java implementation of the Ruby programming language. The CData JDBC Driver for SAP SuccessFactors makes it easy to integrate connectivity to live SAP SuccessFactors data in JRuby. This article shows how to create a simple JRuby app that connects to SAP SuccessFactors data, executes a query, and displays the results.

Configure a JDBC Connection to SAP SuccessFactors Data

Before creating the app, note the installation location for the JAR file for the JDBC Driver (typically C:\Program Files\CData\CData JDBC Driver for SAP SuccessFactors\lib).

JRuby natively supports JDBC, so you can easily connect to SAP SuccessFactors and execute SQL queries. Initialize the JDBC connection with the getConnection function of the java.sql.DriverManager class.

You can authenticate to SAP Success Factors using Basic authentication or OAuth with SAML assertion.

Basic Authentication

You must provide values for the following properties to successfully authenticate to SAP Success Factors. Note that the provider will reuse the session opened by SAP Success Factors using cookies. Which means that your credentials will be used only on the first request to open the session. After that, cookies returned from SAP Success Factors will be used for authentication.

  • Url: set this to the URL of the server hosting Success Factors. Some of the servers are listed in the SAP support documentation (external link).
  • User: set this to the username of your account.
  • Password: set this to the password of your account.
  • CompanyId: set this to the unique identifier of your company.

OAuth Authentication

You must provide values for the following properties, which will be used to get the access token.

  • Url: set this to the URL of the server hosting Success Factors. Some of the servers are listed in the SAP support documentation (external link).
  • User: set this to the username of your account.
  • CompanyId: set this to the unique identifier of your company.
  • OAuthClientId: set this to the API Key that was generated in API Center.
  • OAuthClientSecret: the X.509 private key used to sign SAML assertion. The private key can be found in the certificate you downloaded in Registering your OAuth Client Application.
  • InitiateOAuth: set this to GETANDREFRESH.

Built-in Connection String Designer

For assistance in constructing the JDBC URL, use the connection string designer built into the SAP SuccessFactors JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.

java -jar cdata.jdbc.sapsuccessfactors.jar

Fill in the connection properties and copy the connection string to the clipboard.

Below is a typical JDBC connection string for SAP SuccessFactors:

jdbc:sapsuccessfactors:User=username;Password=password;CompanyId=CompanyId;Url=https://api4.successfactors.com;

Create a JRuby App with Connectivity to SAP SuccessFactors Data

Create a new Ruby file (for example: SAPSuccessFactorsSelect.rb) and open it in a text editor. Copy the following code into your file:

require 'java' require 'rubygems' require 'C:/Program Files/CData/CData JDBC Driver for SAP SuccessFactors 2018/lib/cdata.jdbc.sapsuccessfactors.jar' url = "jdbc:sapsuccessfactors:User=username;Password=password;CompanyId=CompanyId;Url=https://api4.successfactors.com;" conn = java.sql.DriverManager.getConnection(url) stmt = conn.createStatement rs = stmt.executeQuery("SELECT address1, zipCode FROM ExtAddressInfo") while (rs.next) do puts rs.getString(1) + ' ' + rs.getString(2) end

With the file completed, you are ready to display your SAP SuccessFactors data with JRuby. To do so, simply run your file from the command line:

jruby -S SAPSuccessFactorsSelect.rb

Writing SQL-92 queries to SAP SuccessFactors allows you to quickly and easily incorporate SAP SuccessFactors data into your own JRuby applications. Download a free trial today!