VOOZH about

URL: https://www.cdata.com/kb/tech/discourse-jdbc-datagrip.rst

⇱ Query Discourse Data in DataGrip


Query Discourse Data in DataGrip

πŸ‘ Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Create a Data Source for Discourse in DataGrip and use SQL to query live Discourse data.

DataGrip is a database IDE that allows SQL developers to query, create, and manage databases. When paired with the CData API Driver for JDBC, DataGrip can work with live Discourse data. This article shows how to establish a connection to Discourse data in DataGrip.

Create a New Driver Definition for Discourse

The steps below describe how to create a new Data Source in DataGrip for Discourse.

  1. In DataGrip, click File -> New > Project and name the project πŸ‘ Creating a new DataGrip project.
  2. In the Database Explorer, click the plus icon () and select Driver. πŸ‘ Adding a new Driver.
  3. In the Driver tab:
    • Set Name to a user-friendly name (e.g. "CData Discourse Driver")
    • Set Driver Files to the appropriate JAR file. To add the file, click the plus (), select "Add Files," navigate to the "lib" folder in the driver's installation directory and select the JAR file (e.g. cdata.jdbc.api.jar).
    • Set Class to cdata.jdbc.api.API.jar
  4. Click "Apply" then "OK" to save the Connection πŸ‘ A configured Driver (Salesforce is shown).

Configure a Connection to Discourse

  1. Once the connection is saved, click the plus (), then "Data Source" then "CData Discourse Driver" to create a new Discourse Data Source.
  2. In the new window, configure the connection to Discourse with a JDBC URL.

    Built-in Connection String Designer

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

     java -jar cdata.jdbc.api.jar
     

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

    The Discourse API uses API Key authentication.

    Using API Key Authentication

    Discourse requires API Key and Username for authentication. API Keys are generated in the Discourse Admin panel under the API section. You can create user-specific API keys or all-users API keys. Once you have obtained the API Key, set it along with the Domain and Username in the ProfileSettings connection property.

    Example Connection string

    Profile=C:\profiles\Discourse.apip;ProfileSettings='Domain=forum.example.com;APIKey=your_api_key;Username=your_username;'AuthScheme=APIKey;
    
    πŸ‘ Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)
  3. Set URL to the connection string, e.g.,
    jdbc:api:Profile=C:\profiles\Discourse.apip;ProfileSettings='Domain=forum.example.com;APIKey=your_api_key;Username=your_username;'AuthScheme=APIKey;
  4. Click "Apply" and "OK" to save the connection string πŸ‘ A configured Data Source (Salesforce is shown).

At this point, you will see the data source in the Data Explorer.

Execute SQL Queries Against Discourse

To browse through the Discourse entities (available as tables) accessible through the JDBC Driver, expand the Data Source.

πŸ‘ Exploring the data (Salesforce is shown.)

To execute queries, right click on any table and select "New" -> "Query Console."

πŸ‘ Opening a new Query Console.

In the Console, write the SQL query you wish to execute. For example:

SELECT , FROM Backups WHERE = ''
πŸ‘ Querying with SQL (Salesforce is shown.)

Download a free, 30-day trial of the CData API Driver for JDBC and start working with your live Discourse data in DataGrip. Reach out to our Support Team if you have any questions.