Connect to Raisers Edge NXT Data in JRuby

Ready to get started?

Download for a free trial:

Download Now

Learn more:

Raisers Edge NXT JDBC Driver

Rapidly create and deploy powerful Java applications that integrate with Raisers Edge NXT.



Create a simple JRuby app with access to live Raisers Edge NXT data.

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

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

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

Before establishing a connection, supply the SubscriptionKey, found in the Blackbaud Raiser's Edge NXT Profile.

Authenticating to Raiser's Edge NXT

Blackbaud Raiser's Edge NXT uses the OAuth authentication standard. You can connect to without setting any connection properties using the embedded OAuth credentials.

Alternatively, you can authenticate by creating a custom app to obtain the OAuthClientId, OAuthClientSecret, and CallbackURL connection properties.

See the Help documentation for an authentication guide.

Built-in Connection String Designer

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

java -jar cdata.jdbc.raiseredgenxt.jar

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

Below is a typical JDBC connection string for Raisers Edge NXT:

jdbc:raiseredgenxt:SubscriptionKey=MySubscriptionKey;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:33333;InitiateOAuth=GETANDREFRESH

Create a JRuby App with Connectivity to Raisers Edge NXT Data

Create a new Ruby file (for example: RaiserEdgeNXTSelect.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 Raisers Edge NXT 2018/lib/cdata.jdbc.raiseredgenxt.jar' url = "jdbc:raiseredgenxt:SubscriptionKey=MySubscriptionKey;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:33333;InitiateOAuth=GETANDREFRESH" conn = java.sql.DriverManager.getConnection(url) stmt = conn.createStatement rs = stmt.executeQuery("SELECT Id, AddressLines FROM Constituents") while (rs.next) do puts rs.getString(1) + ' ' + rs.getString(2) end

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

jruby -S RaiserEdgeNXTSelect.rb

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