Email Signature Manager version 5.x
Email Signature Manager version 6.x
This article describes how to resolve a persistent error message that occurs when saving data in Email Signature Manager when using a SQL Server database.
When you attempt to save an object through Email Signature Manager (for example, saving changes to a signature) that is connected to a SQL Server database, an error with the following description is raised:
Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information.
The detail of the operation is similar to the following:
Exception #1 (System.InvalidOperationException): Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information.
at System.Data.Common.DbDataAdapter.UpdatingRowStatusErrors(RowUpdatingEventArgs rowUpdatedEvent, DataRow dataRow)
at System.Data.Common.DbDataAdapter.Update(DataRow dataRows, DataTableMapping tableMapping)
at System.Data.Common.DbDataAdapter.UpdateFromDataTable(DataTable dataTable, DataTableMapping tableMapping)
at System.Data.Common.DbDataAdapter.Update(DataSet dataSet, String srcTable)
at System.Data.Common.DbDataAdapter.Update(DataSet dataSet)
at (Object , DataSet )
at <obfuscated stack trace>
This problem is caused by missing primary key information in one or more tables in the SQL Server database and occurs in one of the following situations:
- You have imported the settings.mdb database directly into SQL Server using SQL Management Studio.
- You have moved the database from one SQL Server to another without migrating the full database schema.
The correct way to move data from one database to another (irrespective of the type of the database) is to the Import function. Full details are can be found as follows:
- To migrate from settings.mdb to SQL Server in Email Signature Manager 5.x, please follow the instructions in the user's guide:
- To migrate from settings.mdb to SQL Server in Email Signature Manager 6.x, please follow the instructions in the user's guide:
- To move the database from one SQL Server to another, perform a full backup on the old server, and restore on the new server.
Update Email Signature Manager components to use the database on the new SQL Server.
The problem is resolved as described above.