Database
 sql >> Baza danych >  >> RDS >> Database

Podłączanie PolyBase do Salesforce.com

PolyBase uzyskuje dostęp do danych nierelacyjnych i relacyjnych i łączy je z poziomu SQL Server. Począwszy od SQL Server 2019, PolyBase obsługuje dane z backendów, dla których dostępny jest sterownik ODBC.

Wypróbowaliśmy PolyBase z naszym sterownikiem Salesforce ODBC, aby przeszukiwać dane Salesforce z SQL Server 2019.

Aby rozpocząć:

  1. Zainstaluj i uzyskaj licencję na sterownik ODBC Salesforce.com na komputerze, na którym jest zainstalowany program SQL Server.

    Potrzebujesz kompilacji 2.0.3 sterownika ODBC Salesforce.com, który jest obecnie dostępny po skontaktowaniu się z zespołem pomocy technicznej Easysoft ().

  2. W programie Microsoft SQL Server Management Studio połącz się z instancją programu SQL Server obsługującą technologię PolyBase. Aby sprawdzić, czy PolyBase jest zainstalowany, uruchom to zapytanie:
    SELECT SERVERPROPERTY ('IsPolyBaseInstalled') AS IsPolyBaseInstalled;

    Jeśli PolyBase jest zainstalowany, to zapytanie zwróci:

    1
  3. Musisz również upewnić się, że PolyBase jest włączony:
    EXEC SP_CONFIGURE @CONFIGNAME = 'polybase enabled', @CONFIGVALUE = 1;
    RECONFIGURE WITH OVERRIDE;
  4. Jeśli jeszcze tego nie zrobiłeś, uruchom usługi PolyBase (SQL Server PolyBase Engine, SQL Server PolyBase Data Movement) w aplikacji Windows Services.
  5. Utwórz zewnętrzne źródło danych PolyBase:
    CREATE DATABASE PolyBaseDB
    
    USE PolyBaseDB
    
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'p455w0rd';
    
    CREATE DATABASE SCOPED CREDENTIAL PolyBaseSalesforce
    WITH IDENTITY = 'myuser, Secret = 'p455w0rd';
    
    CREATE EXTERNAL DATA SOURCE salesforce_data_source
    WITH ( 
    LOCATION = 'odbc://Salesforce',
    CONNECTION_OPTIONS = 'DRIVER={Easysoft Salesforce ODBC Driver};
                          UID=mysalesforceuser@mydomain;
                          PWD=mypassword;TOKEN=1234ABCDEF;',
    CREDENTIAL = PolyBaseSalesforce
    );
    
  6. Utwórz lokalną tabelę SQL Server, która będzie przechowywać zdalne dane Salesforce. Ta tabela lokalna jest przeznaczona dla tabeli Account Salesforce:
    CREATE EXTERNAL TABLE Account([Id] NCHAR(18) COLLATE Latin1_General_CI_AS NOT NULL, [IsDeleted] TINYINT NOT NULL,
    	                      [MasterRecordId] NCHAR(18) COLLATE Latin1_General_CI_AS,
    			      [Name] NVARCHAR(255) COLLATE Latin1_General_CI_AS NOT NULL, [Type] NVARCHAR(255) COLLATE Latin1_General_CI_AS,
    			      [ParentId] NCHAR(18) COLLATE Latin1_General_CI_AS, [BillingStreet] NVARCHAR(4000) COLLATE Latin1_General_CI_AS,
    			      [BillingCity] NVARCHAR(40) COLLATE Latin1_General_CI_AS, [BillingState] NVARCHAR(80) COLLATE Latin1_General_CI_AS,
                                  [BillingPostalCode] NVARCHAR(20) COLLATE Latin1_General_CI_AS, [BillingCountry] NVARCHAR(80) COLLATE Latin1_General_CI_AS,
    			      [BillingStateCode] NVARCHAR(255) COLLATE Latin1_General_CI_AS, [BillingCountryCode] NVARCHAR(255) COLLATE Latin1_General_CI_AS,
    			      [BillingLatitude] FLOAT(53), [BillingLongitude] FLOAT(53), [BillingAddress] NVARCHAR(4000) COLLATE Latin1_General_CI_AS,
    			      [ShippingStreet] NVARCHAR(4000) COLLATE Latin1_General_CI_AS, [ShippingCity] NVARCHAR(40) COLLATE Latin1_General_CI_AS,
    			      [ShippingState] NVARCHAR(80) COLLATE Latin1_General_CI_AS, [ShippingPostalCode] NVARCHAR(20) COLLATE Latin1_General_CI_AS,
    			      [ShippingCountry] NVARCHAR(80) COLLATE Latin1_General_CI_AS, [ShippingStateCode] NVARCHAR(255) COLLATE Latin1_General_CI_AS,
    			      [ShippingCountryCode] NVARCHAR(255) COLLATE Latin1_General_CI_AS, [ShippingLatitude] FLOAT(53), [ShippingLongitude] FLOAT(53),
    			      [ShippingAddress] NVARCHAR(4000) COLLATE Latin1_General_CI_AS, [Phone] NVARCHAR(40) COLLATE Latin1_General_CI_AS,
    			      [Fax] NVARCHAR(40) COLLATE Latin1_General_CI_AS, [AccountNumber] NVARCHAR(40) COLLATE Latin1_General_CI_AS,
    			      [Website] NVARCHAR(255) COLLATE Latin1_General_CI_AS, [PhotoUrl] NVARCHAR(255) COLLATE Latin1_General_CI_AS,
    			      [Sic] NVARCHAR(20) COLLATE Latin1_General_CI_AS, [Industry] NVARCHAR(255) COLLATE Latin1_General_CI_AS, [AnnualRevenue] FLOAT(53),
    			      [NumberOfEmployees] INT, [Ownership] NVARCHAR(255) COLLATE Latin1_General_CI_AS, [TickerSymbol] NVARCHAR(20) COLLATE Latin1_General_CI_AS,
    			      [Description] NVARCHAR(4000) COLLATE Latin1_General_CI_AS, [Rating] NVARCHAR(255) COLLATE Latin1_General_CI_AS,
    			      [Site] NVARCHAR(80) COLLATE Latin1_General_CI_AS, [OwnerId] NCHAR(18) COLLATE Latin1_General_CI_AS NOT NULL,
    			      [CreatedDate] DATETIME2(0) NOT NULL, [CreatedById] NCHAR(18) COLLATE Latin1_General_CI_AS NOT NULL,
    			      [LastModifiedDate] DATETIME2(0) NOT NULL, [LastModifiedById] NCHAR(18) COLLATE Latin1_General_CI_AS NOT NULL,
    			      [SystemModstamp] DATETIME2(0) NOT NULL, [LastActivityDate] DATE, [LastViewedDate] DATETIME2(0), [LastReferencedDate] DATETIME2(0),
    			      [Jigsaw] NVARCHAR(20) COLLATE Latin1_General_CI_AS, [JigsawCompanyId] NVARCHAR(20) COLLATE Latin1_General_CI_AS,
    			      [AccountSource] NVARCHAR(255) COLLATE Latin1_General_CI_AS, [SicDesc] NVARCHAR(80) COLLATE Latin1_General_CI_AS,
    			      [CustomerPriority__c] NVARCHAR(255) COLLATE Latin1_General_CI_AS, [SLA__c] NVARCHAR(255) COLLATE Latin1_General_CI_AS,
    			      [Active__c] NVARCHAR(255) COLLATE Latin1_General_CI_AS, [NumberofLocations__c] FLOAT(53),
    			      [UpsellOpportunity__c] NVARCHAR(255) COLLATE Latin1_General_CI_AS, [SLASerialNumber__c] NVARCHAR(10) COLLATE Latin1_General_CI_AS,
    			      [SLAExpirationDate__c] DATE)
    	WITH (LOCATION='Account', DATA_SOURCE= salesforce_data_source)
  7. Zapytaj o dane zdalne:
    SELECT Id FROM dbo.Account WHERE Id = '001i000000AOq3DXYZ'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przykład poprawy wydajności zapytań za pomocą indeksów

  2. MuleSoft wykorzystuje GraphQL w celu zaawansowanej integracji API

  3. Notacja kurzej łapki

  4. 13 artykułów na blogu na temat najlepszych praktyk i wskazówek dotyczących projektowania baz danych

  5. Zrozumienie utraty zdarzeń z rozszerzonymi zdarzeniami