PolyBase is a new feature of SQL Server that allows you to connect to relational and non-relational data. It allows you to run queries on any external data sources you might have like Oracle, PostgreSQL, Salesforce, MongoDB, Hadoop, etc. Combined with Progress DataDirect ODBC connectors, any query you want to run can be pushed down using PolyBase to provide you with the best performance available.
To help you get started, we put together this tutorial on how you can use PolyBase with Progress DataDirect’s ODBC Connector for Salesforce to query your external data in Salesforce. If you want to connect to any other data source like Oracle, Hadoop, MongoDB, etc., the steps are similar, so please feel free to use the respective connectors when you use this tutorial.

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'your-strong-password';CREATE DATABASE SCOPED CREDENTIAL Salesforce_Cred WITH IDENTITY = 'your-salesforce-username', Secret = 'your-salesforce-password';CREATE EXTERNAL DATA SOURCE DataDirect_SalesforceWITH ( LOCATION = 'odbc://localhost',CONNECTION_OPTIONS = 'DSN=Salesforce',PUSHDOWN = ON,CREDENTIAL = Salesforce_Cred);CREATE EXTERNAL TABLE OPPORTUNITYCONTACT (ID NVARCHAR(18) NOT NULL,OPPORTUNITYID NVARCHAR(18) NOT NULL,CONTACTID NVARCHAR(18) NOT NULL,"ROLE" NVARCHAR(40),ISPRIMARY bit NOT NULL)WITH (LOCATION='OPPORTUNITYCONTACTROLE', DATA_SOURCE=DataDirect_Salesforce)SELECT TOP 100 * FROM OPPORTUNITYCONTACT SELECT * FROM OPPORTUNITYCONTACT where OPPORTUNITYID = 'some-id'
Specified driver could not be loaded due to system error 126: The specified module cannot be found. (DataDirect 8.0 Salesforce, C:\Program Files\Progress\DataDirect\ODBC\drivers\ddsfrc28.dll).
If you see this error, the issue might be due to the fact that Java is not installed or jvm.dll is not in the PATH. To resolve this, install Java and edit the environment variable PATH to include jvm.dll
Msg 46530, Level 16, State 11, Line 18External data sources are not supported with type GENERIC.exec sp_configure @configname = 'PolyBase enabled', @configvalue = 1;RECONFIGURE WITH OVERRIDE;