Skip to main content

Hi Everyone,

I have a scenario to use Azure Managed SQL Instances and these are not supported for DBAmp because they do not allow the installation of 3rd-party linked servers on the Instance. So I am trying to install dbamp remotely - to a on-prem SQL server virtual machine. 

We will create a Azure SQL managed instance where data will be stored. - DBInstance

DbAmp will be configured as linked server  in a on premise virtual machine with SQL server installed. - DBAmpServer

 

I have two questions:

  1. Can we run DBAmp from DBAmpServer to move the data from DBInstance to Salesforce? The article DBAmp - Running DBAmp Remotely (cdata.com) mentions the other way around, but we need a bi-direction data transfer between DBInstance and Salesforce.
  2. The article mentions that a subset of stored procedures will be available. Can you confirm if that subset includes all SPs needed to transfer data between SQL tables and Salesforce standard & custom objects as well as extracting error logs to DBInstance from Salesforce Bulk API logs.
  1. Absolutely! SF_TableLoader is one of that subset of stored procedures that are supported for remote usage, and SF_TableLoader takes a staging table in the remote instance, and pushes it up to Salesforce. You can read more about that one here: https://cdn.cdata.com/help/AFH/dbampd/SF_TableLoader_remote.html
  2. You can see the list of supported stored procedures here: https://cdn.cdata.com/help/AFH/dbampd/SF_RemoteStoredProcReference.html That does include SPs for moving data from Salesforce (no difference between standard and custom objects as far as DBAmp is concerned!) and as I mentioned above, moving data to Salesforce. 
    1. As for the Salesforce Bulk API logs, regardless of API you use, DBAmp stores the response from Salesforce when running SF_TableLoader in the <staging table>_Results table, which will be written in DBInstance.

Note that all commands/queries will be run on the DBAmpServer, as they will need to use the DBAmp application! The data is getting moved to/from the DBInstance, but DBAmp is always interacted with on the DBAmpServer.