Connect to SAP Business Warehouse Data in JRuby

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Create a simple JRuby app with access to live SAP Business Warehouse data.

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

Configure a JDBC Connection to SAP Business Warehouse 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 Business Warehouse\lib).

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

To connect to SAP Business Warehouse, set the URL property to a valid SAP Business Warehouse server base URL. The driver must connect to SAP Business Warehouse instances hosted over HTTP with XMLA access.

The driver supports the following authentication schemes via the AuthScheme property:

  • None: Anonymous authentication, if available on the server.
  • Basic: Set User and Password and set AuthScheme to Basic.
  • Kerberos: See the Using Kerberos section of the help documentation for the required Kerberos properties.

By default, the driver attempts to negotiate SSL/TLS by checking the server's certificate against the system's trusted certificate store. To specify another certificate, see the SSLServerCert property for the available formats.

Built-in Connection String Designer

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

java -jar cdata.jdbc.sapbusinesswarehouse.jar

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

Below is a typical JDBC connection string for SAP Business Warehouse:

jdbc:sapbusinesswarehouse:URL=https://mysapserver:8000;AuthScheme=Basic;User=username;Password=password;

Create a JRuby App with Connectivity to SAP Business Warehouse Data

Create a new Ruby file (for example: SAPBusinessWarehouseSelect.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 Business Warehouse 2018/lib/cdata.jdbc.sapbusinesswarehouse.jar'

url = "jdbc:sapbusinesswarehouse:URL=https://mysapserver:8000;AuthScheme=Basic;User=username;Password=password;"
conn = java.sql.DriverManager.getConnection(url)
stmt = conn.createStatement
rs = stmt.executeQuery("SELECT CustomerCount, City FROM Sales")
while (rs.next) do
  puts rs.getString(1) + ' ' + rs.getString(2)
end

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

jruby -S SAPBusinessWarehouseSelect.rb

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

Ready to get started?

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

 Download Now

Learn more:

SAP Business Warehouse Icon SAP Business Warehouse JDBC Driver

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