Integrating the CData JDBC Driver for Dynamics 365 with Ignition SCADA
Ignition is an industrial supervisory control and data acquisition (SCADA) and industrial Internet of Things (IIoT) platform from Inductive Automation. Its central Gateway service manages device connections, tags, and database connections. Ignition doesn't ship with a connector for Dynamics 365, so reaching Dynamics 365 data usually means custom middleware or manual exports.
The CData JDBC Driver for Dynamics 365 bridges this gap by exposing Dynamics 365 as a standard Java Database Connectivity (JDBC) data source. Ignition treats any JDBC driver as a standard database connection. Once the driver is registered in the Gateway, you can query live Dynamics 365 data from the Script Console, SQL Bridge, tags, or a Perspective or Vision screen, without replication, custom connectors, or extract, transform, load (ETL) pipelines.
This guide outlines the steps to install and commission Ignition, register the CData JDBC Driver for Dynamics 365, create the connection, and verify it with a live query.
Prerequisites
- Ignition for Windows (Windows 10/11 or Windows Server), with administrator rights to install a Windows service
- CData JDBC Driver for Dynamics 365
- A Dynamics 365 account with valid credentials and application programming interface (API) access enabled
- A supported desktop browser (Google Chrome, Mozilla Firefox, Microsoft Edge, or Safari) to open the Gateway web interface
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 Microsoft Entra ID, 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
Step 1: Install and set up Ignition
If Ignition is already installed and running, skip to Step 2.
Download Ignition
-
Go to the Inductive Automation downloads page and download Ignition for Windows.
- This single download is the full Ignition Gateway installer. It includes both the Gateway service and the Designer Launcher, so you don't need a separate Designer download.
Install Ignition
- Run the installer, accept the license agreement, and choose an install location.
- Leave Install as a Windows Service checked so the Gateway starts with Windows.
- Finish the installer. The Gateway service starts, and a browser window opens to http://localhost:8088 and shows the Commissioning wizard. If the page shows a Browser Not Supported notice, open the same address in Chrome, Firefox, Edge, or Safari.
Commission the Gateway
- In the Commission Ignition Gateway wizard, set a Gateway Name and create an administrator username and password.
- Accept the End User License Agreement, then start a trial or activate a purchased Ignition license.
-
When commissioning finishes, log in with the administrator account. You land on the Gateway Home page.
Note: A trial shows a countdown timer on every Gateway page, and the timer resets when the Gateway service restarts. This is fine for testing, but production use requires a license.
Step 2: Register the CData JDBC Driver in Ignition
Ignition lets you upload any third-party JDBC driver through the Gateway web interface, without touching the file system directly.
- Log in to the Gateway as an administrator.
- Go to Connections > Databases > Settings, open the Drivers tab, and click Create JDBC Driver.
-
In the dialog, enter the following:
- Name: Dynamics 365
- Classname: cdata.jdbc.dynamics365.Dynamics365Driver
- Driver Type: Generic
- Default Validation Query: SELECT GoalHeadingId FROM GoalHeadings LIMIT 1
- Click Create JDBC Driver. In current Ignition 8.3 releases, the create dialog doesn't include a Java archive (JAR) file upload field, so you add the JAR file in the next step.
- Open the menu at the right of the new driver row, choose Manage JAR files, upload cdata.jdbc.dynamics365.jar from the lib folder of the driver installation, and save.
-
Confirm the driver shows an INSTALLED status in the drivers list.
Step 3: Create the Dynamics 365 connection
- Go to Connections > Databases > Connections and click Create Database Connection.
-
On the Driver Selection step, select Dynamics 365 and click Next.
- On the Database Setup step, set the Name to Dynamics 365. Leave Username empty and select None for Password, because the credentials go in the connect URL.
-
In Connect URL, enter the connection string:
jdbc:dynamics365:OrganizationUrl=https://myaccount.operations.dynamics.com/;Edition=Sales;InitiateOAuth=GETANDREFRESH;
-
Click Create Database Connection and confirm the connection shows a VALID status on the Database Connections page.
Connection properties for Dynamics 365
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
Note: If a password or token contains a semicolon, the connect URL breaks, so reset it to a value without one.
Step 4: Query live Dynamics 365 data from Ignition
With the connection valid, you can query live Dynamics 365 data from the Designer.
-
Open the Ignition Designer Launcher, select your Gateway (click Add Designer and enter http://localhost:8088 if it isn't listed), and click Open Designer. Log in with the Gateway administrator account.
-
Open or create a project. The Designer opens with the Project Browser, Tag Browser, and Component Palette panels.
-
In the Designer, go to Tools > Script Console. In the Multiline Buffer, enter a test query and click Execute. Replace GoalHeadings with any table available in your Dynamics 365 connection:
print system.db.runQuery( "SELECT GoalHeadingId, Name FROM GoalHeadings LIMIT 10", "Dynamics 365")
- A successful query prints PyDataset rows:10 cols:2 in the Interactive Interpreter panel, which confirms Ignition retrieved live data from Dynamics 365 through the CData JDBC Driver.
Note: The connection name in the script must match the name you gave the connection in Step 3.
Step 5: Verify the results
-
Print the rows and compare the values with the same records in Dynamics 365:
ds = system.db.runQuery("SELECT GoalHeadingId, Name FROM GoalHeadings LIMIT 10", "Dynamics 365") for row in ds: print row["GoalHeadingId"], row["Name"] - Optionally, run a second query against another table and a filtered query to confirm schema discovery and filtering.
- Optionally, restart the Gateway service and confirm the connection returns to VALID.
Troubleshooting
| Symptom | Likely cause and fix |
|---|---|
| Driver status shows ERROR | The classname is wrong, or the JAR file hasn't been uploaded through Manage JAR files. |
| Connection status shows FAULTED | The credentials are wrong, outbound web traffic (HTTPS) is blocked, or the CData license isn't found. Click the status to read the error. |
| Error: Could not find a valid license | The Gateway runs as a Windows service and can't read a license stored in your user profile. In an administrator command prompt, run java -jar cdata.jdbc.dynamics365.jar --license from the driver's lib folder, copy the generated .lic file to C:\Windows\system32\config\systemprofile\.CData\, and restart the Gateway service. |
| Database connection not found | The connection name in the script doesn't match the Gateway connection name exactly. |
Test the driver outside Ignition
To confirm the driver works independently of the Gateway, run this standalone Java example. The cdata.jdbc.dynamics365.jar and cdata.jdbc.dynamics365.lic files must be in the same directory and on the classpath.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class CDataExample {
public static void main(String[] args) throws Exception {
Class.forName("cdata.jdbc.dynamics365.Dynamics365Driver");
String connectionString = "jdbc:dynamics365:OrganizationUrl=https://myaccount.operations.dynamics.com/;Edition=Sales;InitiateOAuth=GETANDREFRESH;";
try (Connection conn = DriverManager.getConnection(connectionString)) {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT GoalHeadingId, Name FROM GoalHeadings LIMIT 10");
while (rs.next()) {
System.out.println(rs.getString("GoalHeadingId") + ", " + rs.getString("Name"));
}
}
}
}
Build live, governed Dynamics 365 connectivity in Ignition with CData
With the CData JDBC Driver for Dynamics 365 registered, your team can query live Dynamics 365 data from Ignition without ETL infrastructure, manual exports, or custom integration code, and reuse the same connection in tags, SQL Bridge, and Perspective or Vision screens.
Start your free trial today to see how you can give Ignition live, secure access to hundreds of external systems with CData.