Migrere ClickDimensions med Kingswaysoft

af Henrik Jensen 10. august 2018 08:51

Thomas Pein-Lorenzen har begået et blogindlæg som viser rækkefølgen for hvilken man skal benytte når man vil migrere ClickDimensions med Kingswaysoft.

Jeg anbefaler at tage et kig på blogindlægget, hvis man står overfor en migrering af ClickDimensions: Using KingswaySoft to migrate ClickDimensions...

SSIS navnekonventioner

af Henrik Jensen 27. juli 2018 13:19

Det er en god ide (Best Practice) at navngive de objekter man benytter i SSIS med bestemte præfiks, så det det er lettere at identificere disse visuel og i XML-koden.

Der findes en række forskellige forslag til navnekonventioner. Microsoft har frigivet en konvention. Læs mere her (Engelsk): SSIS Naming Convention – Updated for SSIS 2016...

Man kan downloade navnekonventionerne i et Excel-dokument her: SSIS Component Naming Convention Prefixes...

Jeg benytter en lidt anden navnekonvention end den Microsoft anbefaler. De overordnede komponenter giver jeg følgende præfix:

 Komponent  Præfix    Destination/Sources  Præfix
 Aggregate  AGG    ADO NET Destination  ADONET_DST
 Balanced Data Distributor  BDD    ADO NET Source  ADONET_SRC
 Cache Transform  CHT    Dynamics AX Destination  DYNAX_DST
 Conditional Split  CSPL    Dynamics AX Source  DYNAX_SRC
 Data Conversion  DCNV    Dynamics CRM Destination  DYNCRM_DST
 Derived Column  DER    Dynamics CRM Source  DYNCRM_SRC
 Lookup  LKP    Dynamics NAV Destination  DYNNAV_DST
 Merge  MRG    Dynamics NAV Source  DYNNAV_SRC
 Merge Join  MRGJ    Excel Destination  EX_DST
 Multicast  MLT    Excel Source  EX_SRC
 Pivot  PVT    Flat File Destination  FF_DST
 Row Count  CNT    Flat File Source  FF_SRC
 Row Sampling  RSMP    OLE DB Command  CMD
 Script Component  SCR    OLE DB Destination  OLE_DST
 Slowly Changing Dimension  SCD    OLE DB Source  OLE_SRC
 Sort  SRT    Raw File Destination  RF_DST
 Term Extraction  TEX    Raw File Source  RF_SRC
 Term Lookup  TEL    Recordset Destination  RS_DST
 Union All  ALL    SQL Server Destination  SS_DST
 Unpivot  UPVT    SQL Server Mobile Destination  SSM_DST
       XML Source  XML_SRC

Kingswaysoft: Begrænsninger på antal forbindelser (Connections)...hvad betyder det?

af Henrik Jensen 5. juli 2018 20:12

I version 10.0 introducerede Kingswaysoft en begrænsning i antallet af unikke forbindelser (Connections) til 8, men hvad betyder det egentlig og hvad er formålet med denne begrænsning?
 

Hvorfor lave en begrænsning?

I følge Kingswaysoft har begrænsningen alene til formål at ramme kunder som bruger Kingswaysoft til mange unikke forbindelser, herunder hostingcentre og større kunder. Begrænsningen har ikke til formål at ramme den overvejende kundegruppe, som er almindelige virksomheder. Begrænsningen vil kun ramme ca. 6-8% af kunderne.

Hvis man render ind i begrænsningen kan man få følgende fejlmeddelelse:

Update Account:Error; An error occurred with the following error message:
"A total of 10 distinct connections detected for 'DynamicsCRM'. which has
exceeded the maximum limit (8) permitted by the installed license.
Consider upgrading your software license to a higher tier that allows for more 
distinct connections, or wait 1380.03 minutes for the connection metering to 
be automatically reset. (Component name: myComponent; Machine/Instance 
name: myServer; License Key: 22FEE-EC776-87564-01CET-80CZB-123FD)".
 

Hvordan fungerer begrænsningen?

Den korrekte ordlyd fra Kingswaysoft er: "Standard use licensing model, this limits the number of distinct connections to 8 per connection type within a 24 hour period at runtime."

Hvilke forbindelsestyper (Connection Types) er omfattet? Det er alene dem som Kingswaysoft har udviklet, se eksemplet til højre.

Alle øvrige forbindelsestyper er således ikke omfattet af begrænsningen.

Når man opretter en forbindelse til f.eks. Dynamics CRM benytter man oftest en dialogboks, og resultatet er, at der dannes en ConnectionString i det bagvedliggende XML-dokument.

Her er et eksempel på dele af XML-dokumentet, som indeholder en ConnectionString:

<DTS:ConnectionManager
  DTS:refId="Package.ConnectionManagers[Dynamics CRM Connection Manager]"
  DTS:CreationName="DynamicsCRM"
  DTS:DTSID="{153290FA-C811-47FF-81EC-6AC8B2CD11DB}"
  DTS:ObjectName="Dynamics CRM Connection Manager">
  <DTS:ObjectData>
    <CrmConnectionManager
        ConnectionString="AuthenticationType=ActiveDirectory;ServiceEndpoint=
        Soap2011;DiscoveryServerUrl=http://crm.easyconsult.dk;UserName=;Domain=;
        OrganizationName=EASYConsult;CrmServerUrl=http://crm.easyconsult.dk/
        EASYConsult;ProxyUsername=;ProxyMode=NoProxy;ProxyServer=;
        ProxyServerPort=0;BypassProxyOnLocal=True;HomeRealmUri=;ApiVersion=;
        ServiceTimeout=300;RetryOnIntermittentErrors=True;
        IgnoreCertificateErrors=False" />
</DTS:ObjectData>
</DTS:ConnectionManager>

Det er ikke hele ConnectionString'en der medgår, når antallet af unikke forbindelsestyper beregnes; det er kun følgende dele:

  • CRM discovery server URL: DiscoveryServerUrl=http://crm.easyconsult.dk
  • Organization Name: OrganizationName=EASYConsult
  • CRM Server URL: CrmServerUrl=http://crm.easyconsult.dk/EASYConsult

Man skal være opmærksom på følgende:

  • Anvendelse af parametre i forbindelse med ConnectionStrings
  • Om der indgår Endpoint (discover.svc) i CRM discovery server URL eller ikke
  • Om der indgår Endpoint (organization.svc) i CRM Server URL eller ikke
  • Der sondres ikke mellem store/små bogstaver
     

Et regneeksempel

På en SQL Server med en standard Kingswaysoft-licens er der følgende Connections:

Forbindelsestyper
Dynamics CRM (365) Dynamics CRM 2015 Dynamics NAV 2013 Dynamics NAV 2018 ADO.NET Salesforce Flatfile Excel
CRM Org. Contoso X CRM Org. Contoso X NAV Org. X NAV Org. Y NAV Org. X Salesforce Org. Contoso X NAV Org. X CRM Org. Contoso X
CRM Org. Contoso X CRM Org. Contoso Y NAV Org. X   Staging table X on SQL Server   CRM Org. Contoso Y CRM Org. AdventureWorks Y
CRM Org. AdventureWorks X CRM Org. AdventureWorks Y     Staging table Y on SQL Server      
CRM Org. AdventureWorks X       CRM Org. Contoso X      

Der skal anvendes i alt 7 forbindelser, som fordeler sig således:

  • 4 CRM (2 til CRM 365 og 2 til CRM 2015)
  • 2 NAV (1 til NAV 2013 og 1 til NAV 2018)
  • 1 Salesforce

Vær opmærksom på at SSIS Productivity Pack indeholder komponenter til Excel,  Data Anonymizer, Email mv. Hvis disse benyttes så tæller de med som hver sin unikke type.
 

Hvad hvis man har brug for mere end 8 forbindelser?

Man kan købe Kingswaysoft-licenser med flere unikke forbindelser. Kingswaysoft har desværre ikke en officiel prisliste. Man skal kontakte dem for mængde og pris. Man kan købe forbindelser i følgende pakker; 25, 50, 75, 100.

Opdatering af Kingswaysoft (10.1 og 7.1)

af Henrik Jensen 4. juni 2018 17:59

Kingswaysoft har frigivet en opdatering til SSIS Integration Toolkit for Microsoft Dynamics 365 (10.1) samt SSIS Productivity Pack (7.1). Opdateringerne indeholder fejlrettelser samt en hel del nyheder, af disse kan bl.a. nævnes:

  • SSIS Integration Toolkit for Microsoft Dynamics 365:
    • Håndtering af integration ved ændringer af data i Microsoft Dynamics 365 Finance & Operations
    • Mulighed for at benytte "Write NULL on empty value(s)" i CRM Text Lookup Editor, som giver mulighed for at indsætte NULL-værdier når en værdi er tom eller NULL.

Læs mere om opdateringerne (Overordnet) her (Engelsk): New Releases for SSIS Productivity Pack & SSIS Integration Toolkit for Microsoft Dynamics 365...

BEMÆRK! Man bør altid benytte samme version af KingswaySoft til designer og server. Der kan opstå problemer hvis man f.eks. på serveren bruger version 8.1, og i designeren benytter version 9.1.

Download Kingswaysoft SSIS Integration Toolkit (Engelsk): Download the SISS Integration Toolkit for MS CRM...

Anonymisering af data med Kingswaysoft...i disse dage med GDPR

af Henrik Jensen 29. maj 2018 16:10

Ved et par lejligheder har jeg benyttet mig af en særlig Kingswaysoft-komponent, som kan anonymisere data. Komponenten hedder Data Anonymizer, og er en del af Kingswaysoft's SSIS Productivity Pack Anonymizer.

Data Anonymizer er særdeles anvendelig i situationer hvor man har et eller flere CRM-miljøer hvor man skal anonymisere data (det er her at GDPR bl.a. kan spille ind). Her er et eksempel på hvad komponenten kan:

Opsætningen af felterne foregår i Data Anonymizer-komponenten, hvor man angiver hvilke felter der skal anonymiseres.

Man kan indstille de forskellige felttyper individuelt, og således bestemme hvordan dataene skal anonymiseres. Læs mere om dette i dokumentationen (Engelsk): Data Anonymizer...

Den Svenske gut Gustaf Westerlund har også begået et blogindlæg om komponenten. Læs mere her (Engelsk): Anonymizing data in UAT/Dev - GDPR...

SSIS-fejl, som kan drive en til vanvid...men som har en forklaring

af Henrik Jensen 25. maj 2018 12:13

Når man støder på fejl i SSIS-pakker (SQL Server Integration Services), som vedrører CRM, bunder disse ofte i at man forsøge at indsætte forkerte data i CRM.

Jeg bruger Kingswaysoft til SSIS-pakker, og de fleste gange vises der fejl man let kan tyde, men i enkelte tilfælde kan fejlene være lidt mere uforståelige. Her er et eksempel:

[Dynamics CRM Destination [177]] Error: An error occurred with the following error message: "System.Exception: Error(s) occurred when processing the batch: [36] CRM service call returned an error: An error occurred. Contact a system administrator or refer to the Microsoft Dynamics CRM SDK troubleshooting guide.  (SSIS Integration Toolkit for Microsoft Dynamics 365, v10.0.0.6858 - DtsDebugHost, v11.0.7001.0)".

[Dynamics CRM Destination [177]] Error: The Dynamics CRM Destination was unable to process the data.

[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PROCESSINPUTFAILED.  The ProcessInput method on component "Dynamics CRM Destination" (177) failed with error code 0xC02090F9 while processing input "Input" (195). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running.  There may be error messages posted before this with more information about the failure.

Fejlen er ikke særlig tydelig, men dele af fejlen "CRM service call returned an error" fortæller alligevel at der er tale om en fejl, som CRM genererer.

En yderligere fejlsøgning resulterer i følgende fejlmeddelelse:

Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: An error occurred. Contact a system administrator or refer to the Microsoft Dynamics CRM SDK troubleshooting guide.Detail: 
...
[ActivityFeeds.Plugins: ActivityFeeds.Plugins.ActivityClose]
[1b4f879d-5b32-e811-80d4-00155d83842d: ActivityFeeds.Plugins.ActivityClose: Create of account]

OK..nu nærmer vi os noget. Der er altså noget galt med en plugin (ActivityFeeds.Plugins.ActivityClose)

Det viser sig at fejlen handler om at en udvikler har registreret en plugin, og har i den forbindelse ikke været opmærksom på, at ved en fejl var den øverste plugin markeret, fremfor den rigtige plugin, da der blev klikket på knappen Register. Og dermed er der blevet oprettet en række Steps, som ikke burde være oprettet.

Løsningen er, at fjerne de uønskede Steps.

Opdatering af Kingswaysoft (10.0)

af Henrik Jensen 1. maj 2018 14:57

Kingswaysoft har frigivet en opdatering, som indeholder fejlrettelser samt en hel del nyheder, af disse kan bl.a. nævnes:

  • Ny forbindelsesmetode til Microsoft Dynamics 365 CE (Customer Experience) ved brug af OAuth
     
  • CRM Source indeholder nu SQL2FetchXML Converter
     

     
  • CRM Text Lookup understøtter nu mulighed for at angive et sekundært Lookup-felt
     
  • Nullify Input Values er en ny mulighed som kan benyttes på Lookup-felter til at angive om en værdi i et lookup-felt skal indstilles til NULL, hvis en værdi ikke er fundet, såsom, hvis en Bruger, Kontaktperson mv. ikke er fundet i et To-felt, så udelades værdien
     

     
  • OAuth Authentication understøtter nu brug af Certifikat og Client Credentials OAuth til Microsoft Dynamics 365 FO (Finance & Operations) og samtidig kan man nu forbinde til onPremise-installationer af Microsoft Dynamics 365 FO
     

Læs mere om opdateringerne (Overordnet) her (Engelsk): Spring 2018 Release Wave for SSIS Integration Toolkit...

Læs mere om de opdateringerne (Detaljeret) her (Engelsk): Version 10.0 Update...

Kingswaysoft har tillige åbnet op for at man kan benytte SSIS Integration Toolkit i Skyen, hvilket jeg snart har mulighed for at afprøve. Læs mere om dette her (Engelsk): Running SSIS Integration Toolkit on the Cloud...

 

BEMÆRK! Man bør altid benytte samme version af KingswaySoft til designer og server. Der kan opstå problemer hvis man f.eks. på serveren bruger version 8.1, og i designeren benytter version 9.1.

Download Kingswaysoft SSIS Integration Toolkit (Engelsk): Download the SISS Integration Toolkit for MS CRM...

Nyeste komponenter til Visual Studio, SSIS og Kingswaysoft

af Henrik Jensen 13. februar 2018 11:46

De nyeste komponenter til Visual Studio, SSIS og Kingswaysoft omfatter:

Vær opmærksom på at det kun er SQL Server 2012 eller senere der er understøttet af ovenstående konfiguration.

Information om hvilke GDPR-krav virksomheder skal leve op til inden maj 2018

af Henrik Jensen 12. februar 2018 11:56

Det er for alvor gået op for virksomheder at der træder en ny persondataforordning (også kaldet GDPR - General Data Protection Regulation) i kraft den 25. maj 2018. Jeg deltager i en række projekter hvor Dynamics CRM kommer ind i billedet.

I de fleste af de projekter jeg indgår i gør vi brug af de retningslinjer og værktøjer, som Microsoft stiller til rådighed, og jeg har derfor samlet en række links (Engelsk):

Det dejlige ved at arbejde med Dynamics CRM er, at sikkerhedsværktøjerne (Sikkerhedsroller, Post-baseret sikkerhed samt Feltsikkerhed) er tilstede, og understøtter de krav der er til beskyttelse af data. Læs mere (Engelsk): How our products help with GDPR compliance (Dynamics 365)...

Opdatering af Kingswaysoft (9.1)

af Henrik Jensen 17. oktober 2017 16:47

Kingswaysoft-hajen Thomas Pein-Lorenzen har gjort mig opmærksom på at Kingswaysoft har frigivet en opdatering, som indeholder en række nyheder og fejlrettelser. Læs mere om de opdateringen: Version 9.1 Update...

En af de store nyheder i denne opdatering er en nyhed, som giver mulighed for at dokumentere metadata fra SSIS-komponenter i et Word-dokument.

Der er endvidere sket positive ændringer og nyheder på OptionSet og en række entiteter (Incident, Opportunities, Quotes og Salesorder)

BEMÆRK! Man bør altid benytte samme version af KingswaySoft til designer og server. Der kan opstå problemer hvis man f.eks. på serveren bruger version 8.1, og i designeren benytter version 9.1.

Download Kingswaysoft SSIS Integration Toolkit (Engelsk): Download the SISS Integration Toolkit for MS CRM...

Løsning på fejl vedr. SQL Servers instansnavn som ikke matcher computerens navn

af Henrik Jensen 28. september 2017 08:00

Jeg flyttede for nyligt SQL Server på et hostingcenter, og stødte i den forbindelse på en sjælden fejl.

Den nye SQL Server havde følgende karakteristika:

  • SQL Server 2016 Standard Edition
  • 2 Instanser (CRM 2015 og CRM 2016)

SQL Serverens navn var xxHOSTCRMSQL-STD (xx er opfundet for at skjule kundens identitet). Med dette navn skulle de 2 instanser så have følgende navne:

  • xxHOSTCRMSQL-STD\MSSQLSTD2015
  • xxHOSTCRMSQL-STD\MSSQLSTD2016

I forbindelse med etableringen af instanserne fremkom der en fejl som indikerede at server-delen af navnet (xxHOSTCRMSQL-STD) på instansen var for langt. Jeg troede at vi var ovre den tid med korte navne på servere...men nej!

Navnet på serveren skulle ændres (til xxHOSTSQL-STD), og dem som har prøvet det på en server som har installeret SQL Server ved at det gør man ikke bare. Normalt skal man afinstallere og installere SQL Serveren igen efter ændringen af serverens navn. Men sådan er det ikke med SQL Server 2016. Den kan godt finde ud af at omdøbe SQL Serveren og dens instanser..hurra Microsoft - langt om længe!

Jublen varede dog kun til at CRM-organisationerne skulle flytter, så fremkom følgende ballade:

Så havde ændringen af navnet på serveren alligevel ikke slået igennem alle steder, på trods af at dette blev indikeret i navnet når man åbner de 2 instanser på SQL Serveren.

Løsningen

Løsningen var at fjerne det forkerte navn på de 2 instanser og oprette disse igen. Dette gøres således:

  1. Åbn SQL Serveren med den ønskede instans.
  2. Klik, med den højre musknap, på instansen og vælg New Query.


     
  3. Indtast og eksekver følgende kommando for at identificere navnet på instansen: select @@servername
    Resultatet er: xxHOSTCRMSQL-ST\MSSQLSTD2015, altså det forkerte navn.
     
  4. Fjern navnet ved at eksekvere følgende kommando: SP_DROPSERVER "xxHOSTCRMSQL-ST\MSSQLSTD2015"
     
  5. Opret det nye navn ved at eksekvere følgende kommando: SP_ADDSERVER "xxHOSTSQL-STD\MSSQLSTD2016", local
     
  6. Tjek evt. navnet ved at eksekvere følgende kommando: SP_HELPSERVER

Data Loader for Microsoft Dynamics CRM Online

af Henrik Jensen 27. september 2017 08:44

Microsoft har frigivet en tidlig udgave (Preview Release) af et nyt værktøj: Data Loader for Microsoft Dynamics CRM Online. Frigivelsen er dog, indtil videre, forbeholdt Nord Amerika.

Formålet med dette værktøj er at man kan importere store mængder data ind i CRM, hvor dataene f.eks. ligger i flade filer (csv, xml mv.).

På et senere tidspunkt vil værktøjer endvidere kunne eksportere data fra CRM Online.

Læs mere (Engelsk): Preview feature: Data Loader for Microsoft Dynamics CRM Online...

Bliv medlem af CRMUG DK

De regionale afdelinger i CRMUG giver mulighed for a mødes med andre medlemmer af CRMUG i dit lokalområde. Hermed får du mulighed for at mødes ansigt til ansigt og vidensdele med andre brugere af Microsoft Dynamics CRM i dit område.

Læs mere den Danske afdeling af CRMUG...

Om Henrik Jensen

Jeg har altid fingeren på pulsen når det drejer sig om Microsofts produkter & teknologier, og især når det handler om Microsoft Dynamics CRM.

Henrik Jensen

Jeg har arbejdet professionelt i IT-branchen mere end 25 års, deraf mere end 18 år med CRM-systemer, og samtidig indehaver af mere end 50 Microsoft-certificeringer.

Mobil: +45 20 300 300
E-mail: hj@easyconsult.dk

EASYConsult ApS

Læs mere...

Downloads, værktøjer, installation og JScript

Downloade komponenter til MS CRM:
    • Microsoft Dynamics CRM 4.0
    • Microsoft Dynamics CRM 2011
    • Microsoft Dynamics CRM 2013
    • Microsoft Dynamics CRM 2015
    • Microsoft Dynamics CRM 2016

Liste over Opdateringspakker (Rollups):
    • Microsoft Dynamics CRM 4.0
    • Microsoft Dynamics CRM 2011
    • Microsoft Dynamics CRM 2013
    • Microsoft Dynamics CRM 2015
    • Microsoft Dynamics CRM 2016

Værktøjer til MS CRM:
    • Liste med værktøjer til MS CRM

Krav og opsætninger til installation:
    • Krav og opsætninger MS CRM 2011
    • Krav og opsætninger MS CRM 2013
    • Krav og opsætninger MS CRM 2015
    • Krav og opsætninger MS CRM 2016

JScript eksempelkode:
    • Javascript API-reference
    • Javascript eksempelkode

Diverse værktøjer:
    • Sysinternals
    • PowerShell og MS CRM 2011

Visual Studio, SSIS og Kingswaysoft
    • Visual Studio 2017
    • Dataværktøjer (SSIS) 2017
    • Kingswaysoft
    • SSIS Navnekonventioner

Månedsliste

Forbehold

Alt hvad du læser på denne blog er alene udtryk for mine egne holdninger og meninger, og kan ikke henføres til andet end som så.

De løsninger jeg fremstiller på denne blog er ikke nødvendigvis testet i et driftsmiljø. Hvis du gør brug af mine løsninger er det på eget ansvar.