Dear MultiTerm Developers
We have written a converter which transforms multilingual MFT XML file into several SDLTB containing only one language pair from the XML. In most instances it will run smothly but sometimes the program runs in an error as you can see below (log file entries).
It is not foreseeable when the error will occur. It can happen while generating any of the SDLTBs. The program then will not recover from the error and will not generate any SDLTB until it ends. If the program is started again, it begins to create SDLTBs without an error.
My question is if you are familliar with this error type and do you have an advice how to handle it?
I can share more the code if needed.
Code:
if (!application.LocalRepository.IsConnected)
{
application.LocalRepository.Connect(string.Empty, string.Empty);
}
WriteLog("Multiterm connected.");
Termbase termbase = null;
try
{
WriteLog("Multiterm try create " + sdltbNameInternal + " with " + termXDTFile + " to " + sdltbNameFull);
termbase = application.LocalRepository.Termbases.New(sdltbNameInternal, "", termXDTFile, sdltbNameFull);
WriteLog("Multiterm " + sdltbNameInternal + " opened from " + sdltbNameFull);
XPathDocument termXML = new XPathDocument(WORK_FOLDER + lang + ".xml");
XPathNavigator termNavigator = termXML.CreateNavigator();
XPathExpression termExpression = termNavigator.Compile("count(//conceptGrp)");
string nodesCount = termNavigator.Evaluate(termExpression).ToString();
ImportDefinition importDefinition = termbase.ImportDefinitions.Add("sew import definition " + lang, "", termXDIFile);
WriteLog("Multiterm import definition loaded " + termXDIFile);
WriteLog("Multiterm start import with " + termXDTFile + " " + termXDIFile + " to " + sdltbNameFull + " (" + nodesCount + " conceptGrp)");
importDefinition.ProcessImport(MtTaskType.mtScript);
WriteLog("Multiterm import finished with " + termbase.Entries.Count + " entries imported.");
termbase.Close();
if (!File.Exists(sdltbNameFull))
{
WriteLog("ERROR: " + sdltbNameFull + " could not be created!");
continue;
}
Error in the log file:
2024-01-20 00:39:02 15/28: Creating E:\_termDB\work\abc_de-DE_lt-LT_1031_1063.sdltb
2024-01-20 00:39:02 Multiterm connected.
2024-01-20 00:39:02 Multiterm try create abc_de-DE_lt-LT_1031_1063 with E:\_termDB\work\LT.xdt to E:\_termDB\work\abc_de-DE_lt-LT_1031_1063.sdltb
2024-01-20 00:39:03 Multiterm abc_de-DE_lt-LT_1031_1063 opened from E:\_termDB\work\abc_de-DE_lt-LT_1031_1063.sdltb
2024-01-20 00:39:04 Multiterm import definition loaded E:\_termDB\work\LT.xdi
2024-01-20 00:39:04 Multiterm start import with E:\_termDB\work\LT.xdt E:\_termDB\work\LT.xdi to E:\_termDB\work\abc_de-DE_lt-LT_1031_1063.sdltb (7379 conceptGrp)
2024-01-20 00:46:24 MULTITERM ERROR: System.Runtime.InteropServices.COMException (0x800A0E7D): Requested operation requires an OLE DB Session object, which is not supported by the current provider.
at Sdl.MultiTerm.TMO.Interop.IEntries.get_Count()
at XML2SDLTB..ctor() in C:\VSPROJECTS\XML2SDLTB\___VS-Projekt\XML2SDLTB\XML2SDLTB\XML2SDLTB.cs:line 315
2024-01-20 00:46:24 16/28: Creating E:\_termDB\work\abc_de-DE_lv-LV_1031_1062.sdltb
2024-01-20 00:46:24 Multiterm connected.
2024-01-20 00:46:24 Multiterm try create abc_de-DE_lv-LV_1031_1062 with E:\_termDB\work\LV.xdt to E:\_termDB\work\abc_de-DE_lv-LV_1031_1062.sdltb
2024-01-20 00:46:24 MULTITERM ERROR: System.Runtime.InteropServices.COMException (0x80040244): MultiTerm is unable to create the termbase.
Unspecified error
at Sdl.MultiTerm.TMO.Interop.ITermbases.New(String TermbaseName, String Description, String TermbaseDefinitionFile, String TermbaseDestinationFilePath)
at XML2SDLTB..ctor() in C:\VSPROJECTS\XML2SDLTB\___VS-Projekt\XML2SDLTB\XML2SDLTB\XML2SDLTB.cs:line 299
2024-01-20 00:46:24 17/28: Creating E:\_termDB\work\abc_de-DE_nb-NO_1031_1044.sdltb
2024-01-20 00:46:24 Multiterm connected.
2024-01-20 00:46:24 Multiterm try create abc_de-DE_nb-NO_1031_1044 with E:\_termDB\work\NO-NO.xdt to E:\_termDB\work\abc_de-DE_nb-NO_1031_1044.sdltb
2024-01-20 00:46:24 MULTITERM ERROR: System.Runtime.InteropServices.COMException (0x80040244): MultiTerm is unable to create the termbase.
Unspecified error
at Sdl.MultiTerm.TMO.Interop.ITermbases.New(String TermbaseName, String Description, String TermbaseDefinitionFile, String TermbaseDestinationFilePath)
at XML2SDLTB..ctor() in C:\VSPROJECTS\XML2SDLTB\___VS-Projekt\XML2SDLTB\XML2SDLTB\XML2SDLTB.cs:line 299