Opsætning af SQL dataafleveringer

Formål

Her kan du læse om, hvordan du opsætter en SQL dataaflevering i XFlow, og hvilke forudsætninger der skal være på plads, før du kan bruge dataafleveringen.

Det fremgår af nedenstående vejledning, når der er forskel i opsætningen i forhold til SaaS og On-Premise.

Forudsætning

SQL-dataafleveringen i XFlow virker kun, hvis du har en Microsoft SQL Server version 2008 eller nyere.

 

ONLINE GENNEMGANG AF SQL & API

 

FILER FRA WEBINAR

Vil du selv prøve kræfter med SQL, findes arbejdsgangskabelonen fra webinaeret nederst. Download den, derefter kan du uploade dem til jeres eget miljø og ser nærmere på datahandlere mv.

Vejledning

Du skal foretage følgende opsætninger, når du gerne vil bruge en SQL dataaflevering:

  1. Opsætning af SQL dataafleveringen - Opret
  2. Opsætning af SQL dataafleveringen - Connection string
  3. Opsætning af SQL dataafleveringen - Script
  4. Opsætning af SQL dataafleveringen - Script til dokumenter
  5. Opsætning af SQL dataafleveringen - Inputvariabler og Outputvariabler
  6. Mapning af felter i SQL dataafleveringen

Opsætning af SQL dataafleveringer - Opret

Du foretager opsætningen af SQL dataafleveringen mod din database i administrationsdelen af XFlow under "System".

Her vælger du punktet "Dataaflevering - Oversigt" i den venstre menu, og klikker derefter på "Tilføj":

Så vælger du "SQL":

Giv din SQL dataaflevering et navn, som du efterfølgende kan søge den frem på.

Herefter foretages selve opsætningen af dataafleveringen mod din database.

Opsætning af SQL dataafleveringer - Connection string

Du skal nu have indsat en connection string til databasen.
Du starter med at søge din dataaflevering frem på listen og klikke på dens navn.

Herefter indsættes en connection string til databasen ud for "Connection string":


 
Din connection string skal formateres forskelligt alt efter, om du kører med integrated security eller ej:

  1. Integrated security (Bemærk Integrated kan kun bruges, hvis brugeren, der kører jeres XFlow services, har adgang til databasen):
    Data Source={database server};Initial Catalog={databasenavn};Integrated Security=True;
  2. Brugernavn og password: 
    Data Source={database server};Initial Catalog={databasenavn};User ID={brugernavn};Password={adgangskode til brugeren};

Bemærk: Du skal erstatte hele variablen {variabelnavn} med din værdi.

Eksempel:

Hvis din database server hedder "db01" og din database hedder "MinDatabase" skal du erstatte henholdsvis "{database server}" med "db01" og "{databasenavn}" med "MinDatabase".

Data Source=db01;Initial Catalog=MinDatabase;Integrated Security=True;

Specifikt i forhold til SaaS

Du skal have konfigureret din SQL Server, så det er muligt at sende krypteret mellem XFlow og din SQL Server, hvis du skal bruge SQL dataafleveringen i dit SaaS-miljø.

Du kan orientere dig om mulighederne i Microsofts vejledning omkring at give mulighed for SSL kryptering.

Advarsel: Du bør ikke benytte forced encryption. Forced encryption er en indstilling, som automatisk vil kryptere alle forbindelser til databaseserveren. Forced encryption vil forhindre klienter, der ikke benytter kryptering, at kontakte databaseserveren.

Du skal i stedet lade det være op til klienten at kryptere forbindelsen via en parameter i klientens connection string. Se Microsofts dokumentation for krypterede forbindelser til SQL Server for yderligere information.

Bemærk i øvrigt: Forbindelsen fra SaaS til dit SQL Server miljø supporterer ikke integrated security. Du skal derfor benytte dig af brugernavn og adgangskode i din connection string.

 

Opsætning af SQL dataafleveringer - Script

Du skal nu indsætte det script, der skal sørge for, at der bliver oprettet eller hentet de korrekte oplysninger i din database.

Scriptet indsættes i "SQL Script":

Skal du sende data til databasen, laver du scriptet på formen:

INSERT INTO [dbo].[{tabelnavn}] VALUES (@{variabelnavn})

Skal du hente oplysninger fra SQL databasen, laver du scriptet på formen:

SELECT TOP(1) * FROM [dbo].[{tabelnavn}] 

Tip: Du kan hente meget inspiration til SQL scripts i dokumentationen til T-SQL som er den variant af SQL der benyttes af Microsoft SQL Server. Eksemplerne i denne vejledning er blot til inspiration.

Opsætning af SQL dataafleveringer - Script til dokumenter

Hvis du vil lægge dokumenter tilknyttet til dine blanketter ned i en SQL database, så har du også mulighed for det.

Det, du primært skal sikre dig, er, at feltet du lægger data ind i skal være af typen varbinary(max).

Du har mulighed for at trække følgende oplysninger om dokumenterne ud af XFlow:

  • Dokumentets indhold som binære data
  • Filtype (eksempelvis pdf eller doc)
  • Filnavn
  • Beskrivelse (du har mulighed for at angive en beskrivelse af en fil, hvis du bruger integrationen til Filboks, eller hvis du tilvælger det i elementet "Filupload")
  • Opretter
  • Oprettelsestidspunkt

Du kan trække informationerne ud XFlow med et script, der eksempelvis er udformet som nedenfor:

INSERT INTO dokumentTabel (dokumentData,dokumentextension,filnavn,beskrivelse,opretter,uploadtidspunkt)    
SELECT
   [data],
   [ext],
   [filnavn],
   [beskrivelse],
   [opretter],
   [oprettelsesTidspunkt],
FROM @dokumentliste

Måden, dokumenterne trækkes ud af XFlow på, er ved at oprette en midlertidig tabel i din database, hvilket er forklaringen på "FROM @dokumentliste" i det ovenstående SQL.
Du kan naturligvis selv bestemme navngivningen af variablen (= teksten der er sat ind efter @). Typen på variablen skal være "Dokumentliste". Se mere om opsætning af input- og outputvariabler i næste afsnit.

Du kan naturligvis selv vælge, hvilke af oplysningerne du gerne vil have med over i din database.

Opsætning af SQL dataafleveringer - Inputvariabler og Outputvariabler 

Sidste del af den tekniske opsætning af din SQL dataaflevering er at få tilføjet dine input- og/eller outputvariabler.

Alt efter hvordan du har opbygget dit script, i forhold til det foregående afsnit, skal du have oprettet en række variabler.

Du opretter en variabel ved at klikke på "Tilføj variabel" enten under input- eller outputvariabler:

For dataafleveringer, der skal oprette rækker i din database, skal hver af de variabler, der er angivet i dit script under "SQL Script", oprettes som inputvariabler.

For dataafleveringer, der skal hente data fra din database, skal navnet på hver af de kolonner du vil hente informationer fra, oprettes som outputvariabler.

Når du opretter en variabel, skal du angive følgende oplysninger:

  1. Navn
  2. Type
  3. Variabelnavn i script

Navnet er den tekst, der vises, når du skal sætte dataafleveringen op på din arbejdsgang. Det skal dermed være den tekst der gør, at du nemt kan identificere hvilken oplysning, der skal sendes med over i din database.

Typen er i forhold til datatypen i kolonnen i databasen. Du kan se mulighederne på billedet ovenfor.
Typen "Dokumentliste" skal bruges i de tilfælde, hvor du skal hente dokumenter fra blanketter over i din SQL database. 

Variabelnavn i script svarer for dataafleveringer, der skal levere data til en database til din variabel i feltet "SQL script", som du tidligere har lavet - altså teksten efter @.
For dataafleveringer, der skal hente informationer fra en database svarer variabelnavn til navnet på kolonnen i databasen.

Du er nu klar til at mappe dataafleveringen på dine arbejdsgange.

Mapning af felter i SQL dataafleveringen

Sidste led i opsætningen af SQL dataafleveringen er selve mapningen af felterne i dataafleveringen i forhold til den arbejdsgang, du tilknytter dataafleveringen til.

Her kan dataafleveringen indgå som en seperat aktivitet gennem "Dataaflevering" eller som led i en "Slut"-aktivitet:

Du skal nu sørge for at mappe de værdier i dataafleveringen, som du gerne vil have med over i din database.

Alle de variabler, du har oprettet i dataafleveringen, vises, men det er op til dig selv at beslutte, om du vil mappe alle værdierne:

Fordelen ved at kunne tilføje flere værdier, end du nødvendigvis mapper i dataafleveringen er, at du dermed har en fleksibilitet, hvis bruger databasen til at indberette mange forskellige oplysninger, men gerne vil nøjes med at have én dataaflevering, der sættes op én gang for alle, og som du kan bruge til at indberette forskellige oplysninger til den samme database.

Dataafleveringen sættes op som alle andre i XFlow.
Hvis du gerne vil læse mere om, hvordan du sætter dataafleveringer op, kan du se vores artikel Opsætning af dataafleveringer.

Hvor godt besvarede denne artikel dit spørgsmål?