Error when connecting to JAMF data source : The given key was not present in the dictionary.

Error when connecting to JAMF data source : The given key was not present in the dictionary.

Symptoms:

1) JAMF Normalize process fails with the following error in bdna.log:

System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.ThrowHelper.ThrowKeyNotFoundException()

 

2)On the Admin UI --> If you check the data source setup and try a "Test Connection" the below error can be seen:

JAMF_Error_Key.PNG

 

Root Cause of Issue:

Your <Data Platform Install folder>/Bin has a MySql.Data.dll which is used by the Data Platform application when it makes a connection to your JAMF data source.
If the version of this .dll file is not compatible with your current MySQL Connector version , this error is received.

Resolution:

We need to change the MySql.Data.dll in <Data Platform Install folder>/Bin to use the correct version of Mysql.data.dll as per your MySQL Install.

We need to ensure the connection string used to connect to MySQL source is accurate for collation and User Variables.

 

Pre- Steps:

1)Confirm the version of your MySQL data source.

2)Get the latest version/correct MySql.Data.dll file for your  corresponding MySQL Connector from:

https://dev.mysql.com/downloads/connector/net/

Select Operating System : .NET & Mono.

OR

You can get a copy from your MySQL Connector/NET Install folder: (Similar to below)

C:\Program Files (x86)\MySQL\MySQL Connector Net version (the version installed)\Assemblies\v4.5.2\

 

Steps:

1. Make the following change in <Data Platform Install folder>/Conf/DatabaseProvider.config:
Add the CharSet and Allow User variables property setting:

<!-- MySQL Native Provider -->
<![CDATA[Data Source=${HOST};Database=${CATALOG};Port=${PORT};User Id=${USER};Password=${PASSWORD};CharSet=utf8;Allow User Variables=True;]]

2. Take a backup of your existing MySql.Data.dll from <Data Platform Install folder>/Bin and save it to a different directory.
3. Download the MySql.Data.dll from Pre-Step 2) to your Data Platform server.
4. Replace the correct MySql.Data.dll into the <Data Platform Install folder>/Bin folder.
5. Restart IIS.
6. Restart the Data Platform Service.
7. Try to configure the JAMF job now and this should work.

 

If this still does not work, please log a support case with us.

Labels (4)
Was this article helpful? Yes No
No ratings
Comments

I am getting the same error except I am using a MS SQL Server

Version history
Revision #:
2 of 2
Last update:
‎May 06, 2020 05:42 PM
Updated by:
 
Contributors