You are currently reviewing an older revision of this page.
When starting Promis.e or Bentley Substation, one of the following error messages occur:Internal ErrorError Message: No value given for one or more required parameters.TargetSite: System.Data.DataTable GetTable(Int32, System.String)DeclaringType: MDBProxy.LocalToolsAttributes: publicMemberType: Method
Internal ErrorError Message: The given key was not present in the dictionary.TargetSite: System.Data.DataTable GetTable(Int32, System.String)DeclaringType: MDBProxy.ConnectionManagerAttributes: internalMemberType: Method
In more than one case the problem was found to be related to the Multi_Language_UI.mdb file. Replacing this file with a known good one resolved the error message in those cases. This file is located in the following paths
\promis-e Data\Databases\
\Substation Data\Databases\
A vanilla version of the Multi_Language_UI.mdb can be found in the Data folder archive. This can be used to replace the file in the Data folder.
Note that Multi_Language_UI.mdb contains any custom symbol text attributes and language phrases that may have been added, so ideally a backup of the Multi_Language_UI.mdb would be restored to resolve the error.
In one case the "given key was not present in the dictionary...GetTable..." message appeared at start up but the above solution did not help. An Access Database Engine program was listed in Control Panel > Programs and Features. Uninstalling this and installing the 64-bit Microsoft Access Database Engine 2010 Redistributable (AccessDatabaseEngine_x64.exe) resolved the error message. At no time did the Can't find AccessDatabaseEngine for x64 message appear.
Error at startup - The given key was not present in the dictionary (Device.mdb)