Replicate Linear Data to Multiple Databases via the CData Sync CLI

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Replicate Linear data to disparate databases with a single configuration.

Always-on applications rely on automatic failover capabilities and real-time access to data. CData Sync for Linear integrates live Linear data into your mirrored databases, always-on cloud databases, and other databases such as your reporting server: Automatically synchronize with remote Linear data from Windows or any machine running Java.

You can use Sync's command-line interface (CLI) to easily control almost all aspects of the replication. You can use the CLI to replicate Linear data to one or many databases without any need to change your configuration.

Connect to Linear Data

You can save connection strings and other settings like email notifications in XML configuration files.

The following example shows how to replicate to SQLite.

Windows


<?xml version="1.0" encoding="UTF-8" ?>
<CDataSync><DatabaseType>SQLite</DatabaseType>
  <DatabaseProvider>System.Data.SQLite</DatabaseProvider>
  <ConnectionString>AuthScheme=APIKey;APIKey=myAPIKey;</ConnectionString>
  <ReplicateAll>False</ReplicateAll>
  <NotificationUserName></NotificationUserName>
  <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString>
  <TaskSchedulerStartTime>09:51</TaskSchedulerStartTime>
  <TaskSchedulerInterval>Never</TaskSchedulerInterval>
</CDataSync>

Java


<?xml version="1.0" encoding="UTF-8" ?>
<CDataSync><DatabaseType>SQLite</DatabaseType><DatabaseProvider>org.sqlite.JDBC</DatabaseProvider>
<ConnectionString>AuthScheme=APIKey;APIKey=myAPIKey;</ConnectionString>
<ReplicateAll>False</ReplicateAll>
<NotificationUserName></NotificationUserName>
<DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString>
</CDataSync>

You can authenticate to Linear with a personal API key or with OAuth 2.0. The API key is the simplest option for connecting with your own Linear account.

Authenticating with an API Key

Set the following connection properties:

  • AuthScheme: Set this to APIKey.
  • APIKey: A Linear personal API key.

To create a personal API key, log in to Linear, open Settings > Security & access > Personal API keys, select New API key, and create it. Copy the key immediately, because Linear shows it only once.

Authenticating with OAuth

OAuth requires a custom OAuth application registered in Linear (Settings > API > OAuth applications), which provides the OAuthClientId and OAuthClientSecret. Two flows are supported:

  • Authorization code: Set AuthScheme to OAuth, InitiateOAuth to GETANDREFRESH, and provide OAuthClientId, OAuthClientSecret, and the CallbackURL defined in your application (e.g., http://localhost:33333). The driver opens Linear in your browser so you can grant access.
  • Client credentials: Set AuthScheme to OAuthClient and provide OAuthClientId and OAuthClientSecret. This authenticates the application itself, with no browser interaction, and suits machine-to-machine integrations.

By default, the driver requests the read,write scopes. The driver refreshes the access token automatically when it expires.

Configure Replication Queries

Sync enables you to control replication with standard SQL. The REPLICATE statement is a high-level command that caches and maintains a table in your database. You can define any SELECT query supported by the Linear API. The statement below caches and incrementally updates a table of Linear data:


REPLICATE Team;

You can specify a file containing the replication queries. This enables you to use the same replication queries to replicate to several databases.

Run Sync

After you have configured the connection strings and replication queries, you can run Sync with the following command-line options:

Windows


LinearSync.exe -g MySQLiteConfig.xml -f LinearSync.sql

Java


java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar LinearSync.jar -g MySQLiteConfig.xml -f LinearSync.sql

Ready to get started?

Learn more or sign up for a free trial:

CData Sync