MIM Generic SQL (MySQL) import dies at 30000 records with stopped-extensible-extension-error

tmunro55 351 Reputation points
2021-02-04T15:56:56.85+00:00

Hi all,
I'm trying to import data from a MySQL database into a MIM 2016 installation. It imports 30000 records then dies. At first I though it was a bad data problem but I've gone to great lengths to validate the data. Especially the DN. Here's the Eventlog Error:

The extensible extension returned an unsupported error.
The stack trace is:

"Microsoft.MetadirectoryServices.ExtensibleExtensionException: Exception occurred while getting the cs entries for importMicrosoft.MetadirectoryServices.ExtensibleExtensionException: Exception occurred while running the import profileSystem.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.MetadirectoryServices.DetachedObjectModel.DetachedUtils.SplitDN(String dn)
at Microsoft.MetadirectoryServices.DetachedObjectModel.CSEntryChangeDetached.get_RDN()
at Microsoft.IAM.Connector.GenericSql.ExceptionHelper.SetImportErrorCode(String errorName, String errorMessage, Exception exception, CSEntryChange connectorSpaceEntry)
at Microsoft.IAM.Connector.GenericSql.Bridge.CSEntryOperationBase.CreateCSEntry(BaseChanges changes)
at Microsoft.IAM.Connector.GenericSql.Bridge.CSEntryOperationBase.GetCSEntryList(BaseChanges changes) ---> System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.MetadirectoryServices.DetachedObjectModel.DetachedUtils.SplitDN(String dn)
at Microsoft.MetadirectoryServices.DetachedObjectModel.CSEntryChangeDetached.get_RDN()
at Microsoft.IAM.Connector.GenericSql.ExceptionHelper.SetImportErrorCode(String errorName, String errorMessage, Exception exception, CSEntryChange connectorSpaceEntry)
at Microsoft.IAM.Connector.GenericSql.Bridge.CSEntryOperationBase.CreateCSEntry(BaseChanges changes)
at Microsoft.IAM.Connector.GenericSql.Bridge.CSEntryOperationBase.GetCSEntryList(BaseChanges changes)
--- End of inner exception stack trace ---
at Microsoft.IAM.Connector.GenericSql.ExceptionHelper.SetConnectorException(Exception baseException, String errorMessage, String distinguishedName, Boolean hasPasswordOperation)
at Microsoft.IAM.Connector.GenericSql.Bridge.CSEntryOperationBase.GetCSEntryList(BaseChanges changes)
at Microsoft.IAM.Connector.GenericSql.Bridge.SqlCSEntry.GetCSEntryList(BaseChanges changes)
at Microsoft.IAM.Connector.GenericSql.Bridge.MySqlImport.RunImportProfile()
at Microsoft.IAM.Connector.GenericSql.Bridge.ImportBase.GetImportEntries()
at Microsoft.IAM.Connector.GenericSql.GenericSqlConnector.GetImportEntries(GetImportEntriesRunStep importRunStep) ---> Microsoft.MetadirectoryServices.ExtensibleExtensionException: Exception occurred while running the import profileSystem.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.MetadirectoryServices.DetachedObjectModel.DetachedUtils.SplitDN(String dn)
at Microsoft.MetadirectoryServices.DetachedObjectModel.CSEntryChangeDetached.get_RDN()
at Microsoft.IAM.Connector.GenericSql.ExceptionHelper.SetImportErrorCode(String errorName, String errorMessage, Exception exception, CSEntryChange connectorSpaceEntry)
at Microsoft.IAM.Connector.GenericSql.Bridge.CSEntryOperationBase.CreateCSEntry(BaseChanges changes)
at Microsoft.IAM.Connector.GenericSql.Bridge.CSEntryOperationBase.GetCSEntryList(BaseChanges changes) ---> System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.MetadirectoryServices.DetachedObjectModel.DetachedUtils.SplitDN(String dn)
at Microsoft.MetadirectoryServices.DetachedObjectModel.CSEntryChangeDetached.get_RDN()
at Microsoft.IAM.Connector.GenericSql.ExceptionHelper.SetImportErrorCode(String errorName, String errorMessage, Exception exception, CSEntryChange connectorSpaceEntry)
at Microsoft.IAM.Connector.GenericSql.Bridge.CSEntryOperationBase.CreateCSEntry(BaseChanges changes)
at Microsoft.IAM.Connector.GenericSql.Bridge.CSEntryOperationBase.GetCSEntryList(BaseChanges changes)
--- End of inner exception stack trace ---
at Microsoft.IAM.Connector.GenericSql.ExceptionHelper.SetConnectorException(Exception baseException, String errorMessage, String distinguishedName, Boolean hasPasswordOperation)
at Microsoft.IAM.Connector.GenericSql.Bridge.CSEntryOperationBase.GetCSEntryList(BaseChanges changes)
at Microsoft.IAM.Connector.GenericSql.Bridge.SqlCSEntry.GetCSEntryList(BaseChanges changes)
at Microsoft.IAM.Connector.GenericSql.Bridge.MySqlImport.RunImportProfile()
at Microsoft.IAM.Connector.GenericSql.Bridge.ImportBase.GetImportEntries()
at Microsoft.IAM.Connector.GenericSql.GenericSqlConnector.GetImportEntries(GetImportEntriesRunStep importRunStep)
--- End of inner exception stack trace ---
at Microsoft.IAM.Connector.GenericSql.ExceptionHelper.SetConnectorException(Exception baseException, String errorMessage, String distinguishedName, Boolean hasPasswordOperation)
at Microsoft.IAM.Connector.GenericSql.GenericSqlConnector.GetImportEntries(GetImportEntriesRunStep importRunStep)
Forefront Identity Manager 4.6.34.0"

I do see the "Object reference not set to an instance of an object" reference, but I have no idea what reference it is having trouble with.

Any pointers would be greatly appreciated.

Microsoft Identity Manager
Microsoft Identity Manager
A family of Microsoft products that manage a user's digital identity using identity synchronization, certificate management, and user provisioning.
630 questions
0 comments No comments
{count} votes

Accepted answer
  1. tmunro55 351 Reputation points
    2021-02-10T15:44:37.503+00:00

    As it turns out it was in fact bad data. Exactly what was bad I still don't know, but after an extensive clean up the import is working properly now.

    Thank you for your thoughts and suggestions.

    --tim

    0 comments No comments

2 additional answers

Sort by: Most helpful
  1. Leo Erlandsson 1,656 Reputation points
    2021-02-08T08:33:12.723+00:00

    Hi,

    What version of the Generic SQL Connetor are you using?

    I know there's been some issues with the earlier versions.

    Also, the Exception you are providing is pointing to the a DN for an object in null.
    Have you selected a nullable column in the database as DN, and can you check is there are any nulls in this column?

    Br,
    Leo

    0 comments No comments

  2. tmunro55 351 Reputation points
    2021-02-08T19:08:54.433+00:00

    Hi Leo,

    I'm using Microsoft.IAM.Connector.GenericSql.dll - version 1.1.1301.0

    I have selected a nullable column, but I'm using a View that eliminates that issue. I have checked anyway and no nulls for DN. I'm going to reinstall/repair the connector to see if that fixes anything.

    Thanks.

    --tim