Initialization error while migration assistance for MySQL

Chua Camille 0 Reputation points
2023-12-14T08:31:07.1233333+00:00

I am trying to migrate my MySQL database to MS SQL. I have already installed the ODBC driver and SSMA for MySQL. However I got an initialization error when trying to open SSMA.

Cannot start because of an initialization error

Try to restart the application. If this problem remains, contact support group (please provide a log file).

Unexpected error.

Exception: One or more errors occurred.
 site: 
 source: 

InnerException #1: The type initializer for 'Microsoft.SSMA.Framework.Generic.AbstractTelemetryProvider.Containers.TelemetryEventData' threw an exception.
 site: Void .ctor(Microsoft.SSMA.Framework.Generic.AbstractTelemetryProvider.Enums.TelemetryOperationType, System.Guid)
 source: Microsoft.SSMA.Framework.Generic.AbstractTelemetryProvider
   at Microsoft.SSMA.Framework.Generic.AbstractTelemetryProvider.Containers.TelemetryEventData..ctor(TelemetryOperationType operationType, Guid activityId)
   at Microsoft.SSMA.Framework.Generic.AbstractTelemetryProvider.Recorders.Abstraction.TelemetryEventRecorder.AddEvent(TelemetryOperationType eventType)
   at Microsoft.SSMA.Framework.Generic.AbstractTelemetryProvider.Recorders.TelemetryApplicationEventRecorder.WriteSetup(String osName, String productName, Boolean isInternal)
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.SSMA.GUI.Product.SourceToTarget.Startup.GuiBootstrap`1.<InitializeAsync>d__11.MoveNext()
InnerException #2: Object reference not set to an instance of an object.
 site: System.String GetMachineId()
 source: Microsoft.SSMA.Framework.Generic.AbstractTelemetryProvider
   at Microsoft.SSMA.Framework.Generic.AbstractTelemetryProvider.Containers.TelemetryEventData.GetMachineId()
   at Microsoft.SSMA.Framework.Generic.AbstractTelemetryProvider.Containers.TelemetryEventData..cctor()
SQL Server
SQL Server
A family of Microsoft relational database management and analysis systems for e-commerce, line-of-business, and data warehousing solutions.
14,494 questions
SQL Server Migration Assistant
SQL Server Migration Assistant
A Microsoft tool designed to automate database migration to SQL Server from Access, DB2, MySQL, Oracle, and SAP ASE.
564 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. ZoeHui-MSFT 41,456 Reputation points
    2023-12-15T02:55:52.5266667+00:00

    Hi @Chua Camille

    To use SSMA, you first must install the SSMA client program on a computer that can access both the source MySQL database and the target instance of SQL Server . Then, install the MySQL providers (MySQL ODBC 5.1 Driver (trusted)) on the computer that is running SSMA Client Program. For installation instructions, see Installing SSMA for MySQL (MySQLToSQL)

    Please also make sure that SQL Server is running on the machine.

    If these all do not work, try to uninstall SSMA and re-install.

    Getting Started with SSMA for MySQL (MySQLToSQL)

    Regards,

    Zoe Hui


    If the answer is helpful, please click "Accept Answer" and upvote it.

    0 comments No comments

  2. Juan Villicana 10 Reputation points
    2025-04-17T15:46:33.5233333+00:00

    I ran into this issue and ended up patching the GetMachineID() function in the Microsoft.SSMA.Framework.Generic.AbstractTelemetryProvider.dll to return a dummy value when it could not find a network adapter with a valid MAC or IP. My specific issue was my Tailscale tunnel adapter that had IPEnabled = true but has a blank MAC address, and this is what was causing this to crash. You can either patch your DLL like i did or you can fix your network adapter order so the first one it pulls up has a MAC and IPEnabled = Tue. use this command to verify: Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object { $_.IPEnabled -eq $true } | Select Description, MACAddress, IPEnabled

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.