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.

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.

CRMUG Danmark: Dynamics CRM App til Outlook

af Henrik Jensen 14. marts 2018 10:44

Tirsdag den 13. marts 2018 deltog jeg i et CRMUG Danmark-event, som denne gang blev afholdt hos Stark i Odense.

Der var som  sædvanlig nogle spændende emner på bordet, såsom Microsoft Fast Track (en hurtig måde at komme i skyen på), GDPR (Persondataforordningen).

Jeg havde et indlæg om Dynamics CRM til Outlook, hvor jeg gennemgik App'en på godt, men desværre, mest på ondt. Der er rigtig mange udfordringer med såvel Plugin'en og App'en til Outlook i øjeblikket.

Microsoft har ændret strategi vedr. Plugin'n til Outlook (Læs mere: Dynamics 365 til Outlook udgår alligevel ikke med Dynamics 365 v10...), som fortsætter. Da det er alment kendt at der er problemer med Plugin'n, og at der også er problemer med App'en, kan man frygte at det vil skabe endnu flere problemer, men det har Microsoft en løsning på, nemlig ved at bruge følgende matematiske formel:

Her er min PowerPoint-præsentation fra eventen: CRMUG - Dynamics App til Outlook.pdf (563,82 kb)

Fejl ved sletning af poster i Dynamics 365 v9 Online

af Henrik Jensen 15. februar 2018 13:54

Lars Terkelsen fra Bredana Solutions A/S har tippet mig om en fejl man kan støde på i Dynamics 365 v9 Online (9.0.1.127) når man sletter poster.

Hvis man f.eks. sletter Firmaer, Kontaktpersoner, Salgsmuligheder og andre, kan man få følgende fejlmeddelelse:

En analyse af logfilen giver ikke et direkte hint om hvad der er galt andet end der mangler Læse-rettighed???

Fejlen er ganske givet en fejl i CRM, som "almindelige" brugere kan støde på, og som kan henføres til en manglende indstilling i en eller flere Sikkerhedsroller.

Det man skal sikre er, at følgende indstilling har Læs/Read på de anvendte Sikkerhedsroller:

 

 

 

Virtuel objektdatakilde (Virtual Entity data Source) er en ny funktionalitet i Dynamics 365 v9, som giver mulighed for at opbevare data fra andre datakilder, som så kan benyttes sammen med data fra CRM. Læs mere her (Engelsk):

En uannonceret opdatering som ikke løser problemer med CRM til Outlook

af Henrik Jensen 19. december 2017 16:43

I de sidste par måneder, ja faktisk siden frigivelsen af Opdateringspakke 2 til Serviceopdatering 2 til Dynamics 365, har der været rigtig mange problemer med klienter som benytter Server-side synkronisering.

Problemerne er forskelligartede, såsom manglende synkronisering med CRM, fejl i synkroniseringen, sletninger af aftaler i kalenderen samt massivt mange dubletter i Outlook. En af mine kunder fik oprettet mere end 23.000 dublerede Kontaktpersoner i sin Outlook.

Problemerne er komplekse idet de tager udgangspunkt i flere teknologier(Exchange, Mobility, Outlook mv.)

Hos en af mine kunder har jeg brugt mere end 60 timers support med Microsoft, en anden ca. 25 timers support, vel og mærket uden at Microsoft aner hvad de skal gøre ved problemet. Det er ganske uacceptabelt!

Jeg har talt med en række Danske og Norske CRM-partnere, som i den grad er frustreret.

Det seneste Microsoft har gjort (i al stilhed) er at frigive en opdatering til Plugin'en til Outlook (Version 8.2.2.137 Update for Dynamics 365 for Microsoft Outlook...). Opdateringen har løst nogle ganske få af problemerne...men langt fra dem alle. Uofficielt forsøger Microsoft at få endnu en opdatering skubbet ud til den 21. december 2017, alternativt kommer den næste opdatering ultimo januar 2018.

Indtil videre vil jeg anbefale at dem som oplever problemer; at slå synkroniseringen væk fra Server-side synkronisering tilbage til den "gamle" Outlook-synkronisering.

Fejl ved visning af CRM i Outlook

af Henrik Jensen 16. oktober 2017 12:51

Hussain Iqbal fra CoreAmbition har gjort mig opmærksom på en fejl som kan opstå ved visning af CRM i Outlook.

Fejlen resulterer i et tomt skærmbillede.

Microsoft har erkendt fejlen, som kan opstå efter opdatering af i Oktober 2017 Outlook Security Update.

Løsningen

Microsoft har frigivet en artikel som beskriver hvad man skal gøre for at løse/undgå problemet, nemlig ved at oprette en nøgle i registreringsdatabasen, som afhænger af hvilken version af Outlook man benytter: Læs mere her (Engelsk): Microsoft Dynamics 365 for Outlook is unable to render webpages after installing the October 2017 Microsoft Outlook security update...

Opdateringer af sikkerhed i forhold til Dynamics 365 Online

af Henrik Jensen 28. september 2017 11:19

Microsoft er begyndt at udsende informationer om en opgradering af sikkerheden i forhold til Dynamics 365 Online, som kan få indflydelse på brugere af Dynamics 365.

Hvad handler det om?

Til at håndtere sikkerhed anvendes bl.a. en protokol kaldet TLS (Transport Layer Security). TLS benyttes i forskellige versioner TLS 1.0, 1.1 og 1.2.
Når den næste version (Dynamics 365 9.x) frigives online understøttes kun TLS version 1.2.

Hvem kan blive berørt?

Det er vigtigt at pointere at ændringen alene berører dem som benytter Dynamics 365 Online version 9.x (Den nye version som frigives omkring den 1. oktober 2017)

Man kan blive berørt på forskellig vis:

  • Hvis man benytter en ældre version af Windows
  • Hvis man bruger ældre browsere
  • Hvis TLS 1.2 ikke er aktiveret i sin browser
  • Hvis plugins og Windows applikationer, som integrerer med CRM benytter en ændre version af .NET Framework

Hvad kan du gøre?

Det er primært netværksadministratorer og udviklere der skal være opmærksom på problemet, og som kan gøre noget for at afbøde, analysere og løse problemet.

Læs overordnet om problemet (Engelsk): TLS 1.2 support at Microsoft...
Læs detaljeret om problemet og løsningerne (Engelsk): Solving the TLS 1.0 Problem...

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

Løsningen på fejlmeddelelsen: "The current active key (KeyType: CrmWRPCTokenKey) is expired"

af Henrik Jensen 22. september 2017 14:02

Jeg har tidligere oplevet fejlen "The current active key (KeyType: CrmWRPCTokenKey) is expired" i tidligere versioner af CRM, men nu er det ligesom at fejlen er ved at dukke op igen.

 

Senest har jeg oplevet fejlen i følgende setup:

 

 

Løsningen

Ved ovennævnte CRM-setup var løsningen følgende:

FrontEnd-servere

  1. Åbn en Kommandoprompt (Eleveret) og indtast følgende kommando: "C:\Program Files\Microsoft Dynamics CRM\tools\Microsoft.Crm.Tools.WRPCKeyRenewal.exe" /R
  2. Lav en IISRESET
     

BackEnd-server

  1. Genstart følgende Services:
    • Microsoft Dynamics CRM Asynchronous Processing Service
    • Microsoft Dynamics CRM Asynchronous Processing Service (maintenance)
       
  2. Åbn en Kommandoprompt (Eleveret) og indtast følgende kommando: "C:\Program Files\Microsoft Dynamics CRM\tools\Microsoft.Crm.Tools.WRPCKeyRenewal.exe" /R
     
  3. Genstart følgende service:
    • Microsoft Dynamics CRM Monitoring Service

Fejl vedrørende Sandbox-processer og Trace directory i Dynamics 365 Onpremise

af Henrik Jensen 18. september 2017 08:04

I forbindelse med installation og konfiguration af Dynamics 365 Onpremise, vil man rende ind i et irriterende problem som vedrører Sandbox-processer og en fejl vedrørende Trace directory.

Fejlene forekommer primært ved implementering af Opdatering 2.1.

Fejlen vedrørende Sandbox-processer forekommer primært hvis man har selvudviklede plugins eller implementeret løsninger med plugins, og medfører at CRM kører en del langsommere end normalt, og man vil se at CRM-serveren bruger op til 100% CPU. Fejlen forekommer også hvis man benytter en eller flere Backend- og Frontend-servere.

Fejlen vedrørende Trace directory kan man se i Event Vieweren, hvor der vil optræde rigtig mange fejl som indikerer "Invalid Trace Directory". Fejlen har eksisteret siden CRM-version 2011. Læs tidligere blogindlæg: Fejlmeddelelse samt aktiveres af sporing i MS CRM 2011...

 

Faktisk hænger de to fejl sammen.

Løsningen

Løsningen er tildels ulogisk, idet man skal angive et trace directory (logisk) men også enable tracing (ikke logisk). Vær opmærksom på at det medfører at der bliver oprettet trace-filer i det directory man angiver.

Man kan enten benytte Powershell og køre følgende kommandoer på CRM-serveren/serverne:

Add-PSSnapin Microsoft.Crm.PowerShell
$Setting = Get-CrmSetting TraceSettings
$Setting.Enabled = $True 
$Setting.CallStack=$True 
$Setting.Categories="*:Error" 
$Setting.Directory="C:\Program Files\Microsoft Dynamics CRM\Trace"
Set-CrmSetting $Setting

 

Man kan også oprette følgende i Registreringsdatabasen (Registry), under HKLM\Software\Microsoft\MSCRM:

Key Type Indstilling
TraceDirectory String C:\Program Files\Microsoft Dynamics CRM\Trace
TraceEnabled DWORD 1
SandboxHostMinWorkerProcesses DWORD 1

Genåbne Salgsmulighed, Tilbud eller Ordre

af Henrik Jensen 2. september 2017 09:12

Når man lukker en Ordre i CRM så bliver Ordren samt tilhørende Produkter deaktiveret.

Hvis man ønske at ændre en ting ved en lukket Ordre eller dens Produkter er det, som udgangspunkt, ikke muligt, da den jo er lukket. Men det er faktisk muligt at genåbne en Salgsmulighed, Tilbud og Ordre med en Arbejdsproces (Workflow).

Arbejdsprocessen (Workflow) og indstil følgende:

Man kan også indstille statussen til Ny.

Efter aktivering af Arbejdsprocessen (Workflow'et) kan man køre det i forhold til den eller de Ordrer man ønsker genåbnet.

Vigtigt!

Når man genåbner et Tilbud eller en Ordre, skal man være opmærksom på, at det kan påvirke diverse rapporter i forhold til Pipeline, Hvornår Tilbud og Ordrer er lukket mv.

Når man f.eks. atter lukker en Ordre, vil CRM automatisk udfylde datoer for hvornår Ordren er lukket, og disse felter har man ikke mulighed for at påvirke, med mindre man har databasen til rådighed...og det er ganske usupporteret at ændre data direkte i databasen.

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.