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. The path to the Multi_Lanuage_UI.mdb being used by the software can be determined with the following process:
The path is typically one of the following
\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 being used by the software. Make a backup copy of the suspect file first, just in case.
Note: The Multi_Language_UI.mdb file contains any custom symbol text attributes, language phrases, modes, and custom dialog text that may have been added or modified, so ideally a backup of the customized 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.
When starting Promis.e or Bentley Substation, the following error message occurs:
Internal ErrorUI Error Message: The given key was not present in the dictionary.TargetSite: Void FillTable(In32, System.String, System.Data.DataTable By Ref)DeclaringType: MDBProxy.ConnectionManagerAttributes: internalMemberType: Method
This error message can occur when the Multi_Language_UI.mdb file is present in the path configured on Setup but is not readable. Ensure the user has Read permissions for the file and folder. In a multi-user environment, the user should have read, write, and create rights for the folder in which the database is located.
Error at startup - The given key was not present in the dictionary (Device.mdb)