Ready to get started?

Connect to live data from Harvest with the API Driver

Connect to Harvest

How to Connect DBeaver to Harvest via a JDBC Driver



Manage Harvest data with visual tools in DBeaver like the query browser.

The CData API Driver for JDBC implements JDBC standards that enable third-party tools to interoperate, from wizards in IDEs to business intelligence tools. This article shows how to connect to Harvest data with wizards in DBeaver and browse data in the DBeaver GUI.

Create a JDBC Data Source for Harvest Data

Follow the steps below to load the driver JAR in DBeaver.

  1. Open the DBeaver application and, in the "Database" menu, select the "Driver Manager" option. Click "New" to open the "Create new driver" form.
  2. In the Settings tab:
    • Set Driver Name to a user-friendly name for the driver (e.g. CData API Driver for JDBC).
    • Set Class Name to the class name for the JDBC driver: cdata.jdbc.api.APIDriver.
    • Set URL Template to jdbc:api:.
  3. In the Libraries tab, click "Add File," navigate to the "lib" folder in the installation directory (C:\Program Files\CData[product_name] XXXX\) and select the JAR file (cdata.jdbc.API.jar).

Create a Connection to Harvest Data

Follow the steps below to add credentials and other required connection properties.

  1. In the "Database" menu, click "New Database Connection."
  2. In the "Connect to a database" wizard that results, select the driver you just created (e.g. CData API Driver for JDBC) and click "Next >."
  3. On the Main tab of the configuration wizard, set the JDBC URL, using the required connection properties:

    Start by setting the Profile connection property to the location of the Harvest Profile on disk (e.g. C:\profiles\Harvest.apip). Next, set the ProfileSettings connection property to the connection string for Harvest (see below).

    Harvest API Profile Settings

    To authenticate to Harvest, you can use either Token authentication or the OAuth standard. Use Basic authentication to connect to your own data. Use OAuth to allow other users to connect to their data.

    Using Token Authentication

    To use Token Authentication, set the APIKey to your Harvest Personal Access Token in the ProfileSettings connection property. In addition to APIKey, set your AccountId in ProfileSettings to connect.

    Using OAuth Authentication

    First, register an OAuth2 application with Harvest. The application can be created from the "Developers" section of Harvest ID.

    After setting the following connection properties, you are ready to connect:

    • ProfileSettings: Set your AccountId in ProfileSettings.
    • AuthScheme: Set this to OAuth.
    • OAuthClientId: Set this to the client ID that you specified in your app settings.
    • OAuthClientSecret: Set this to the client secret that you specified in your app settings.
    • CallbackURL: Set this to the Redirect URI that you specified in your app settings.
    • InitiateOAuth: Set this to GETANDREFRESH. You can use InitiateOAuth to manage how the driver obtains and refreshes the OAuthAccessToken.

    Built-in Connection String Designer

    For assistance in constructing the JDBC URL, use the connection string designer built into the Harvest 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.

    Below is a typical connection string:

    jdbc:api:Profile=C:\profiles\Harvest.apip;ProfileSettings='APIKey=my_personal_key;AccountId=_your_account_id';
  4. Click "Test Connection ..." to ensure you have configured the connection properly.
  5. Click "Finish."

Query Harvest Data

You can now query information from the tables exposed by the connection: Right-click a Table and then click View Table. The data is available on the Data tab.

More Information & Free Trial

Download a free, 30-day trial of the CData API Driver for JDBC and start working with your live Harvest data in DBeaver. Join the CData Community or reach out to our Support Team if you have any questions.