Sådan bruger du tabeller fra en ekstern SQL database i Microsoft NAV 2017

I Microsoft Dynamics NAV 2017 er det muligt at arbejde direkte med tabeller fra en anden database på en Microsoft SQL Server. Det kunne eksempelvis være nyttigt hvis man ville have data fra et tidsregistrerings system direkte ind i Microsoft Dynamics NAV 2017 og arbejde videre med de data i systemet.

Jeg har her lavet et eksempel på hvordan man henter en tabel fra en Microsoft Dynamics C5 2012 database direkte ind i Microsoft Dynamics NAV 2017. I eksemplet henter jeg data ind fra tabellen og lavet en Page til at arbejde med data i.

Sådan gør du

Det første jeg har gjort er at finde min tabel i Microsoft SQL serveren og her har jeg valgt tabellen dbo.SQL

Herefter har jeg oprettet et Table i Microsoft Dynamics NAV 2017 og har har jeg sat følgende værdier på:

  • TableType: ExternalSQL
  • ExternalName: LOG
  • ExternalSchema: dbo

Når dette er gjort skal vi have oprette alle felterne. Nedenfor kan du se listen over felter jeg har oprettet og hvordan de er sat op og det skal så holdes op i mod tabellen fra Microsoft SQL serveren jeg viste tidligere.

På de enkelte felter har jeg sat feltet ExternalName til at være det samme som feltet jeg peger på i Microsoft SQL databasen. Her efter laver jeg en Codeunit som vist nedenfor og det den gør at er oprette forbindelsen til Microsoft SQL serveren.

Her er indeholdet at Codeunit’en til at kopiere:

Documentation()

OnRun()

IF HASTABLECONNECTION(TABLECONNECTIONTYPE::ExternalSQL, ‘<Database>’) THEN
UNREGISTERTABLECONNECTION(TABLECONNECTIONTYPE::ExternalSQL, ‘<Database>’);

REGISTERTABLECONNECTION(TABLECONNECTIONTYPE::ExternalSQL, ‘<Database>’, ‘Server=<Server>;Initial Catalog=<Database>;Integrated Security=true;’);
SETDEFAULTTABLECONNECTION(TABLECONNECTIONTYPE::ExternalSQL, ‘<Database>’);

Herefter laver jeg en page som vist nedenfor og loader min Codeunit på OnInit() hvilket gør at jeg få oprettet forbindelse til Microsoft SQL serveren og tabellen vi oprettede tidligere kan nu få lov at hente data. Til sidst kører jeg Pagen og får alle data fra den eksterne SQL tabel vist. Her kan jeg så arbejde videre med data direkte i Pagen.

Problemer med at oprette forbindelse til Microsoft SQL serveren

Hvis du har problemer med at oprette forbindelse til Microsoft SQL serveren, så kan det skyldes følgende:

  • Microsoft Dynamics NAV 2017 sender det login med videre til Microsoft SQL serveren som er sat op som Service Account på installationen.

Nedenfor har jeg været inde på min Microsoft Dynamics NAV 2017 instans og har sat min egen bruger på som Service Account.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *