We’re excited to announce that the latest information is now available on our new site, the Ginesys One Wiki!. Visit the site for up-to-date resources and insights. We look forward to continuing to support you there!
We’re excited to announce that the latest information is now available on our new site, the Ginesys One Wiki!. Visit the site for up-to-date resources and insights. We look forward to continuing to support you there!
"ReasonColumn 'InvariantName' is constrained to be unique. Value 'Oracle.DataAccess.Client' is already present." - Error appeared while login in DataExchange Utility.
SYMPTOMS
An error occurred while trying to open DataExchange utility from Ginesys Head Office Launchpad. The following message appears after user tries to login into the utility.
GINESYSSchedulerService
Error occurred. ReasonColumn 'InvariantName' is constrained to be unique. Value 'Oracle.DataAccess.Client' is already present.
Stack Trace:
at GinApps.CacheManager.get_Instance()
at GinApps.Lists.Business.BusinessListConfigReader.GetListConfiguration(String listShortCode)
at DataExchange.UI.DataExchangeDashboardPresentation.BindToDomainModels()
at DataExchange.UI.DataExchangeDashboardPresentation..ctor()
at DataExchangeDashboard.UI.DataExchangeDashboard..ctor()
at DataExchangeDashboard.UI.frmDataExchange..ctor()
at DataExchangeDashboard.Program.Main()
CAUSE
Duplicate entries exist for 'Oracle.DataAccess.Client' under DBProviderFactories section in .NET Framework 4 configuration (machine.config), entries having mention as invariant="Oracle.DataAccess.Client
. When the program tries to load the information of DB Providers which is mentioned in machine.config it detects the duplicate provider entries.
Config file:
machine.config
Area to look into:DbProviderFactories
section.
Expected path of machine.config
%SystemRoot%\Microsoft.NET\Framework64\%VersionNumber%\CONFIG\ directory.
As Ginesys works on .NET Framework 4.7.2, the path we need to refer is
<System Drive>\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
RESOLUTION
Open the machine.config file from the path <System Drive>\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config.
Then find the <DbProviderFactories> section under <system.data> tag where we can see duplicate entries of “Oracle.DataAccess.Client“ with various version. Remove one entry which is older with respect to version ( 4.121.1.0 & 4.121.2.0) & keep the current version. Here we will remove the version 4.121.1.0 .
Then save the machine.config file & check the DataExchange Utility again.
As an example of duplicate entries shown below :
<system.data>
<DbProviderFactories>
<add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
<add name="ODP.NET, Unmanaged Driver" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET, Unmanaged Driver" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
<add name="ODP.NET, Unmanaged Driver" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET, Unmanaged Driver" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data>
Corrected entries of <DbProviderFactories> given below
<system.data>
<DbProviderFactories>
<add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
<add name="ODP.NET, Unmanaged Driver" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET, Unmanaged Driver" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data>
RELATED ARTICLE