Connect to Dynamics 365 Data in JRuby



Create a simple JRuby app with access to live Dynamics 365 data.

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

About Dynamics 365 Data Integration

CData simplifies access and integration of live Microsoft Dynamics 365 data. Our customers leverage CData connectivity to:

  • Read and write data in the full Dynamics 365 ecosystem: Sales, Customer Service, Finance & Operations, Marketing, and more.
  • Extend the native features of Dynamics CRM with customizable caching and intelligent query aggregation and separation.
  • Authenticate securely with Dynamics 365 in a variety of ways, including Azure Active Directory, Azure Managed Service Identity credentials, and Azure Service Principal using either a client secret or a certificate.
  • Use SQL stored procedures to manage their Dynamics 365 entities - listing, creating, and removing associations between entities.

CData customers use our Dynamics 365 connectivity solutions for a variety of reasons, whether they're looking to replicate their data into a data warehouse (alongside other data sources)or analyze live Dynamics 365 data from their preferred data tools inside the Microsoft ecosystem (Power BI, Excel, etc.) or with external tools (Tableau, Looker, etc.).


Getting Started


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

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

Edition and OrganizationUrl are required connection properties. The Dynamics 365 connector supports connecting to the following editions: CustomerService, FieldService, FinOpsOnline, FinOpsOnPremise, HumanResources, Marketing, ProjectOperations and Sales.

For Dynamics 365 Business Central, use the separate Dynamics 365 Business Central driver.

OrganizationUrl is the URL to your Dynamics 365 organization. For instance, https://orgcb42e1d0.crm.dynamics.com

Built-in Connection String Designer

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

java -jar cdata.jdbc.dynamics365.jar

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

Below is a typical JDBC connection string for Dynamics 365:

jdbc:dynamics365:OrganizationUrl=https://myaccount.operations.dynamics.com/;Edition=Sales;InitiateOAuth=GETANDREFRESH

Create a JRuby App with Connectivity to Dynamics 365 Data

Create a new Ruby file (for example: Dynamics365Select.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 Dynamics 365 2018/lib/cdata.jdbc.dynamics365.jar' url = "jdbc:dynamics365:OrganizationUrl=https://myaccount.operations.dynamics.com/;Edition=Sales;InitiateOAuth=GETANDREFRESH" conn = java.sql.DriverManager.getConnection(url) stmt = conn.createStatement rs = stmt.executeQuery("SELECT GoalHeadingId, Name FROM GoalHeadings") while (rs.next) do puts rs.getString(1) + ' ' + rs.getString(2) end

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

jruby -S Dynamics365Select.rb

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

Ready to get started?

Download a free trial of the Dynamics 365 Driver to get started:

 Download Now

Learn more:

Dynamics 365 Icon Dynamics 365 JDBC Driver

Rapidly create and deploy powerful Java applications that integrate with Dynamics 365.