Replicate Multiple Epicor ERP Accounts

Ready to get started?

Learn more or sign up for a free trial:

CData Sync



Replicate multiple Epicor ERP accounts to one or many databases.

CData Sync for Epicor ERP is a stand-alone application that provides solutions for a variety of replication scenarios such as replicating sandbox and production instances into your database. Both Sync for Windows and Sync for Java include a command-line interface (CLI) that makes it easy to manage multiple Epicor ERP connections. In this article we show how to use the CLI to replicate multiple Epicor ERP accounts.

Configure Epicor ERP Connections

You can save connection and email notification settings in an XML configuration file. To replicate multiple Epicor ERP accounts, use multiple configuration files. Below is an example configuration to replicate Epicor ERP to SQLite:

Windows

<?xml version="1.0" encoding="UTF-8" ?> <CDataSync> <DatabaseType>SQLite</DatabaseType> <DatabaseProvider>System.Data.SQLite</DatabaseProvider> <ConnectionString>Service=Erp.BO.CustomerSvc;ERPInstance=MyInstance;URL=https://myaccount.epicorsaas.com;User=username;Password=password;</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>Service=Erp.BO.CustomerSvc;ERPInstance=MyInstance;URL=https://myaccount.epicorsaas.com;User=username;Password=password;</ConnectionString> <ReplicateAll>False</ReplicateAll> <NotificationUserName></NotificationUserName> <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString> </CDataSync>

To successfully connect to your ERP instance, you must specify the following connection properties:

  • Url:the URL of the server hosting your ERP instance. For example, https://myserver.EpicorSaaS.com
  • ERPInstance: the name of your ERP instance.
  • User: the username of your account.
  • Password: the password of your account.
  • Service: the service you want to retrieve data from. For example, BaqSvc.

In addition, you may also set the optional connection properties:

  • ApiKey: An optional key that may be required for connection to some services depending on your account configuration.
  • ApiVersion: Defaults to v1. May be set to v2 to use the newer Epicor API.
  • Company: Required if you set the ApiVersion to v2.

Configure Queries for Each Epicor ERP Instance

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 Epicor ERP API. The statement below caches and incrementally updates a table of Epicor ERP data:

REPLICATE Customers;

You can specify a file containing the replication queries you want to use to update a particular database. Separate replication statements with semicolons. The following options are useful if you are replicating multiple Epicor ERP accounts into the same database:

You can use a different table prefix in the REPLICATE SELECT statement:

REPLICATE PROD_Customers SELECT * FROM Customers

Alternatively, you can use a different schema:

REPLICATE PROD.Customers SELECT * FROM Customers

Run Sync

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

Windows

EpicorERPSync.exe -g MyProductionEpicorERPConfig.xml -f MyProductionEpicorERPSync.sql

Java

java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar EpicorERPSync.jar -g MyProductionEpicorERPConfig.xml -f MyProductionEpicorERPSync.sql