DB2 - Problem description
Problem IC78314 | Status: Closed |
DB2NMPCFG CAN CREATE DUPLICATE ENTRIES WITH SAME INVARIANT NAME IN DBPROVIDERFACTORIES SECTION OF MACHINE.CONFIG | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
db2nmpcfg.exe fails to remove entries with the same invariant name as the ones being added if the assembly version is different. This results in an invalid machine.config since the invariant name must be unique. db2nmpcfg.exe should remove all DbProviderFactories entries with the same invariant regardless of other attribute values. An exception similar to the following is encountered when using DbProviderFactories with a mis-configured machine.config file: System.Configuration.ConfigurationErrorsException: An error occurred creating the configuration section handler for system.data: Column 'InvariantName' is constrained to be unique. Value 'IBM.Data.DB2' is already present. (c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.co nfig line 537) ---> System.Data.ConstraintException: Column 'InvariantName' is constrained to be unique. Value 'IBM.Data.DB2' is already present. at System.Data.UniqueConstraint.CheckConstraint(DataRow row, DataRowAction action) at System.Data.DataTable.RaiseRowChanging(DataRowChangeEventArgs args, DataRow eRow, DataRowAction eAction, Boolean fireEvent) at System.Data.DataTable.SetNewRecordWorker(DataRow row, Int32 proposedRecord, DataRowAction action, Boolean isInMerge, Int32 position, Boolean fireEvent, Exception& deferredException) at System.Data.DataTable.InsertRow(DataRow row, Int32 proposedID, Int32 pos,Boolean fireEvent) at System.Data.Common.DbProviderFactoriesConfigurationHandler.DbPro viderDictionarySectionHandler.HandleAdd(XmlNode child, DataTable config) at System.Data.Common.DbProviderFactoriesConfigurationHandler.DbPro viderDictionarySectionHandler.CreateStatic(DataTable config, Object context, XmlNode section) ... | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * .NET applications on all supported versions of Microsoft * * Windows Operating System * **************************************************************** * PROBLEM DESCRIPTION: * * db2nmpcfg.exe fails to remove entries with the same * * invariant name as the ones being added if the assembly * * version is different. This results in an invalid * * machine.config since the invariant name must be unique. * * db2nmpcfg.exe should remove all DbProviderFactories entries * * with the same invariant regardless of other attribute * * values. * * * * * * An exception similar to the following is encountered when * * using DbProviderFactories with a mis-configured * * machine.config file: * * * * * * System.Configuration.ConfigurationErrorsException: * * An error occurred creating the configuration section handler * * for system.data: Column 'InvariantName' is constrained to be * * unique. Value 'IBM.Data.DB2' is already present. * * (c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machin * * e.config line 537) ---> System.Data.ConstraintException: * * Column 'InvariantName' is constrained to be unique. Value * * 'IBM.Data.DB2' is already present. * * * * at System.Data.UniqueConstraint.CheckConstraint(DataRow * * row, DataRowAction action) * * * * at * * System.Data.DataTable.RaiseRowChanging(DataRowChangeEventArg * * s args, DataRow eRow, DataRowAction eAction, Boolean * * fireEvent) * * at System.Data.DataTable.SetNewRecordWorker(DataRow row, * * Int32 proposedRecord, DataRowAction action, Boolean * * isInMerge, Int32 position, Boolean fireEvent, Exception& * * deferredException) * * at System.Data.DataTable.InsertRow(DataRow row, Int32 * * proposedID, Int32 pos,Boolean fireEvent) * * * * at * * System.Data.Common.DbProviderFactoriesConfigurationHandler.D * * bProviderDictionarySectionHandler.HandleAdd(XmlNode child, * * DataTable config) * * at * * System.Data.Common.DbProviderFactoriesConfigurationHandler.D * * bProviderDictionarySectionHandler.CreateStatic(DataTable * * config, Object context, XmlNode section) * * * * ... * **************************************************************** * RECOMMENDATION: * * Upgrade to Version 9.7 Fix Pack 5 or later. * **************************************************************** | |
Local Fix: | |
Remove entries with duplicate invariant names from the <DbProviderFactories> section of the affected machine.config file. | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows | |
Solution | |
Problem was first fixed in Version 9.7 Fix Pack 5. This fix should be applied on the client. | |
Workaround | |
see LOCAL FIX. | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 24.08.2011 19.12.2011 19.12.2011 |
Problem solved at the following versions (IBM BugInfos) | |
9.7.FP5 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.5 |