Elementaire datareplicatie tussen Exact Online en Azure SQL Server

Go to English version

Dit artikel leidt u door de creatie van een elementaire applicatiemodule op Invantive Cloud om data te repliceren van Exact Online naar een tabel die opnieuw wordt aangemaakt in SQL Server elke keer dat de module wordt uitgevoerd. Geavanceerde en/of geplande replicatie van Exact Online naar Microsoft SQL Server is beschikbaar via Invantive Data Replicator en/of Invantive Data Hub.

Deze stappen zijn zowel bruikbaar voor Azure SQL Server als on-premises Microsoft SQL Server. Invantive Cloud past het gedrag automatisch aan als het gaat om een Azure SQL Server of Microsoft SQL Server database.

Als u liever gebruik maakt van Azure Data Factory, dan vindt u een uitgebreid stappenplan op Verbind Azure Data Factory met Exact Online, 180 dagen gratis. Azure Data Factory biedt een andere set functionaliteiten en kan extra kosten met zich meebrengen, afhankelijk van uw Azure Data Factory setup en onderliggende overeenkomsten.

Instructies kopiëren Exact Online naar Microsoft SQL Server

Database voorbereiden met Exact Online en Microsoft SQL Server

Voer de volgende stappen uit om een (virtuele) database aan te maken die direct toegang geeft tot SQL Server en Exact Online:

  • Creëer een database met Exact Online als datacontainer op https://cloud.invantive.com/app/setup/databases/new.
  • Open de database op Invantive Cloud.
  • Klik op “Datacontainers”.
  • Controleer dat de Exact Online datacontainer alias “eol” heeft.
  • Voeg een datacontainer toe aan de database met SQL Server.
  • Controleer dat de SQL Server datacontaineralias “sqlserver” heeft.

Applicatiemodule

Voer de volgende stappen uit:

  • Maak een nieuwe applicatie aan op https://cloud.invantive.com/app/development/applications/new.
  • De naam kan “Sample” zijn en de omschrijving “Voorbeeld Exact Online replicatie”.
  • Klik op “Modules”.
  • Voeg een nieuwe module toe met code “EOL2SQLSERVER” en omschrijving “Repliceer gegevens van Exact Online naar SQL Server”.
  • Druk een HTML pagina af na het kopiëren van de gegevens van Exact Online naar SQL Server:
declare
  l_output varchar2;
begin
  l_output := '';
  l_output := l_output || '<h2>Replicate</h2>';
  --
  -- Kopieer de Accounts van alle Exact Online administraties
  -- naar de SQL Server-database als een nieuwe tabel.
  --
  create or replace table eol_accounts@sqlserver
  as
  select *
  from   exactonlinerest..accountsbulk@eol
  ;
  --
  cloud_http.set_use_template(true);
  cloud_http.set_response_body_text(l_output);
end;

Uitvoeren Replicatie

Voer de volgende stappen uit om de replicatie uit te voeren:

  • Ga terug naar de nieuw aangemaakte applicatie.
  • Klik op “Uitvoeren”.
  • Kies de database die u heeft aangemaakt.
  • Klik op “Uitvoeren”.
  • Klik op de module.
  • Na enige tijd, afhankelijk van het aantal relaties in Exact Online, wordt een HTML pagina weergegeven.

Controleer nu uw SQL Server database of u de nieuwe tabel kunt zien.

Uitvoeren Exact Online / SQL Server-integratie via Curl

De module kan interactief worden uitgevoerd vanuit Invantive Cloud. Met App Online kunt u de module ook uitvoeren met behulp van een browser of curl.

Voer de volgende stappen uit om de module uit te voeren:

  • Bepaal de te gebruiken URL op App Online als volgt.
  • Start de applicatie.
  • Kies de database.
  • Zoek de module die u wilt uitvoeren op App Online.
  • Selecteer de link “Kopieer Link” rechtsonder in de hoek van de module.
  • De link staat nu op uw klembord.
  • Plak de link in een nieuw browservenster.
  • Voer uw Invantive Cloud-gebruiker en wachtwoord in (deze wordt gedeeld met App Online).
  • Mocht er een authenticatiefout optreden zorg er dan voor dat in de database de juiste IP adressen op de whitelist staan.

Vanuit curl kunt u de module uitvoeren met de volgende syntax:

curl \
  --basic \
  --user user...:password... \
  --output c:\temp\results.html \
  --url https://app-online.cloud/apps/.../databases/.../modules/.../

Een uitgebreider voorbeeld waarbij curl wordt gebruikt om gegevens op te halen uit Invantive Cloud is beschikbaar op Pre-load data in OData-cache to avoid Power BI timeouts (Engels).

In plaats van curl kunnen ook bijvoorbeeld Postman of Azure Logic Apps gebruikt worden.