Ready to get started?

Learn more about the CData JDBC Driver for Amazon Redshift or download a free trial:

Download Now

Connect to Redshift Data in JRuby

Create a simple JRuby app with access to live Redshift data.

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

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

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

To connect to Redshift, set the following:

  • Server: Set this to the host name or IP address of the cluster hosting the Database you want to connect to.
  • Port: Set this to the port of the cluster.
  • Database: Set this to the name of the database. Or, leave this blank to use the default database of the authenticated user.
  • User: Set this to the username you want to use to authenticate to the Server.
  • Password: Set this to the password you want to use to authenticate to the Server.

You can obtain the Server and Port values in the AWS Management Console:

  1. Open the Amazon Redshift console (http://console.aws.amazon.com/redshift).
  2. On the Clusters page, click the name of the cluster.
  3. On the Configuration tab for the cluster, copy the cluster URL from the connection strings displayed.

Built-in Connection String Designer

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

java -jar cdata.jdbc.redshift.jar

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

Below is a typical JDBC connection string for Redshift:

jdbc:redshift:User=admin;Password=admin;Database=dev;Server=examplecluster.my.us-west-2.redshift.amazonaws.com;Port=5439;

Create a JRuby App with Connectivity to Redshift Data

Create a new Ruby file (for example: RedshiftSelect.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 Redshift 2018/lib/cdata.jdbc.redshift.jar' url = "jdbc:redshift:User=admin;Password=admin;Database=dev;Server=examplecluster.my.us-west-2.redshift.amazonaws.com;Port=5439;" conn = java.sql.DriverManager.getConnection(url) stmt = conn.createStatement rs = stmt.executeQuery("SELECT ShipName, ShipCity FROM Orders") while (rs.next) do puts rs.getString(1) + ' ' + rs.getString(2) end

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

jruby -S RedshiftSelect.rb

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