Salesforce

Error message when attempting to open a server-based termbase in Multiterm Desktop: Opening the termbase failed. It may be already opened in exclusive mode.

« Go Back

Information

 
Article TypeSolution Article
Scope/EnvironmentMultiterm Desktop
Trados GroupShare
Symptoms/Context

Symptom 1: Connecting via SDL MultiTerm Administrator

You connect to  Trados GroupShare via MultiTerm Administrator to open a server-based termbase and the following error is displayed:

Opening the termbase failed. It may be already opened in exclusive mode. Attempt the action again after a while.
  • NOTE: You are able to log in with the user super but when clicking on any termbase, the following errors are displayed: 

    Underlying provider failed on Open or Specified cast is not valid.

Symptom 2: Connecting via MultiTerm Desktop

You connect to Trados GroupShare via  MultiTerm Desktop to open a server-based termbase and the following error is displayed:

There are no termbases on the server that can be accessed with the current login. Try connecting with a different user id.

A connection to the SDL MultiTerm Server can not be established.
Could not load file or assembly 'EntityFramework ..... [...] ...' The system can not find the file specified.

Symptom 3: Connecting via Trados Studio

You connect to Trados GroupShare via Trados Studio to open a server-based termbase and the following error is displayed:
 
A connection to SDLMultiTerm Server [ServerName] could not be established.
Opening the termbase failed. It may be already opened in exclusive mode. Attempt the action again after a while

Symptom 4: Logging into/via MultiTerm Online

You log into MultiTerm Online to open a server-based termbase and the following error is displayed:

Error occurred while retrieving list of termbases. (Detail: Opening the termbase failed. It may be already opened in exclusive mode. Attempt the action again after a while.)

2019-09-19 16:19:21.721#Communication.ErrorHandler#Opening the termbase failed. It may be already opened in exclusive mode. Attempt the action again after a while.
System.Runtime.InteropServices.COMException (0x8004540C): Opening the termbase failed. It may be already opened in exclusive mode. Attempt the action again after a while.
   at Sdl.MultiTerm.Server.Interop.MtTermbaseClass.Search(String Cookie, String Index, String Query, Int32 l_startingID, Int32 Maxhits, String bstr_sourceIndex, String bstr_targetIndex, Boolean vb_ignoreFilter, Int32& pl_searchSpace, String& pbstr_lastTerm, Int32& pl_lastConceptID)
   at Sdl.MultiTerm.Core.Connectors.AbstractConnectionProvider.TermbaseSearch(String cookie, String index, String query, Int32 startingID, Int32 maxhits, String sourceIndex, String targetIndex, Boolean ignoreFilter, Boolean isFromOnline, Int32& searchSpace, String& lastTerm, Int32& lastConceptID)
   at SyncInvokeTermbaseSearch(Object , Object[] , Object[] )
   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

Symptom 5: Connecting MultiTerm Desktop

The Microsoft SQL Server was upgraded and when you now connect to Trados GroupShare via MultiTerm Desktop to open a server-based termbase the following error is displayed:

Opening the termbase failed. It may be already opened in exclusive mode. Attempt the action again after a while.

and/or

Please check your connection settings

Stacktrace displaying further information:

System.Runtime.InteropServices.COMException (0x8004020D): An error occurred when getting the entry count.
   at Sdl.MultiTerm.TMO.Interop.EntriesClass.get_Count()
   at Sdl.MultiTerm.Studio.Common.Conditions.BatchEditCondition.GetValue()
   at Sdl.MultiTerm.Desktop.Platform.Extensions.AbstractCondition.UpdateValue() 
[...]



In the Application.log following error is displayed:

Communication.ErrorHandler#Opening the termbase failed. It may be already opened in exclusive mode. Attempt the action again after a while.
System.Runtime.InteropServices.COMException (0x8004540C): Opening the termbase failed. It may be already opened in exclusive mode. Attempt the action again after a while.
   at Sdl.MultiTerm.Server.Interop.MtTermbaseClass.Search(String Cookie, String Index, String Query, Int32 l_startingID, Int32 Maxhits, String bstr_sourceIndex, String bstr_targetIndex, Boolean vb_ignoreFilter, Int32& pl_searchSpace, String& pbstr_lastTerm, Int32& pl_lastConceptID)
   at Sdl.MultiTerm.Core.Connectors.AbstractConnectionProvider.TermbaseSearch(String cookie, String index, String query, Int32 startingID, Int32 maxhits, String sourceIndex, String targetIndex, Boolean ignoreFilter, Boolean isFromOnline, Int32& searchSpace, String& lastTerm, Int32& lastConceptID)


 
Resolution

You should check these solutions in order, from top to bottom.

Solution 1: Check the Trados GroupShare Console on the Trados GroupShare server.

Open the Trados GroupShare Console and go to the Databases section. And check the "MultiTerm Master Database" section. Is the information in there correct and present? In some cases, the fields are empty and in some the information is incorrect and default values are added - "MTMaster" for the database name and the Trados GroupShare server hostname instead of the actual SQL Server name. If that is the case, stop all SDL services, add the correct information, restart the SDL services.

The above informations is stored in the Settings.xml file from here: C:\ProgramData\SDL\SDL MultiTerm\MultiTerm15 (can be MultiTerm16 or newer)

 

Solution 1A:

In very rare situations all of the above is not enough and something else in the Settings.xml file is broken/incorrect. In that situation do the following:
1. Stop all SDL Services
2. Move the Settings.xml file to a different location (instead of deleting it)
3. In the Trados GroupShare Console after making sure the Database connection details are correct, click Apply Changes.
4. Check that a new Settings.xml file was created and the Database connection information in it is correct.
5. Start all SDL Services


Solution 2: Eliminate database inconsistencies and access problems

MultiTerm Master Database

  1. Log into SQL Server Management Studio.
  2. Make sure the database MTMaster exists and can be accessed by the Trados GroupShare service account.
    NOTE: The name of your MultiTerm master database may be different. It can be found in the Trados Groupshare Console at Console Root >  Databases.
  3. If this databases does not exist, recreate the database from a backup or try to investigate why it does not exist (moved to another server, etc)

Other MultiTerm Databases

  1. Log into SQL Server Management Studio.
  2. View the content of MTMaster database’s table dbo.Termbases.
  3. For every entry in column PhysicalName, make sure a database with the same name really exists and can be accessed by the Trados GroupShare service account.
  4. If any of the databases does not exist, delete the corresponding row in dbo.Termbases or try to recreate the database from a backup - in case it was deleted accidentally.

NOTE: The errors can also occur if in theory all databases can be accessed but access is unreliable. In this case, the SQL Server logs may help troubleshoot this issue further.

If all references are correct or above solution cannot be applied, refer to Solution 2.

Solution 3: Restart SDL MultiTerm Matrix Cache and SDL Application services

  1. On the GroupShare application server, click Start > Run or press [Windows Key + R] on the Server machine.
  2. Type in the dialog box: services.msc.
  3. Click OK to open the Windows Services console.
  4. Restart SDL MultiTerm Matrix Cache and SDL Application services.

Solution 4: Enable TLS 1.0 on both SQL Server and GroupShare server.

This is required for Trados GroupShare 2017 all versions.

Solution 5: Ensure compatibility between Trados GroupShare version and MS SQL Server version.

For example, Trados GroupShare 2017 SR1 CU10 does not support Microsoft SQL 2019 Server. MS SQL 2019 Server is only supported from Trados GroupShare 2017 SR1 CU11 (and above).

Solution 6: Reboot the Trados GroupShare server

Before doing this, make sure the Solutions above have been checked/performed, especially 1 and 2.
Root Cause
This error can occur if any of the databases used by the MultiTerm Server cannot be accessed by the Trados GroupShare service account. It also happens when Trados GroupShare loses the connection to the databases. In some situations the exact root cause was never found and it may be related to the infrastructure.
Reference
Attachment 1 
Attachment 2 
Attachment 3 
Attachment 4 
Attachment 5 

Powered by