public virtual void Flush() { bool connectionErrorFound = false; try { Instance.AcquireConnections(null); } catch (System.Runtime.InteropServices.COMException e) { if (e.ErrorCode == -1071611876) { connectionErrorFound = true; var connection = _astTransformationNode.FirstChildOfType <AstConnectionNode>(); MessageEngine.Trace(_astTransformationNode, Severity.Error, "V0203", "Could not connect to {0} for validation.", connection.Name); } else { MessageEngine.Trace(_astTransformationNode, Severity.Error, null, GetScrubbedErrorDescription(e.ErrorCode)); } } catch (System.Runtime.InteropServices.SEHException seh) { MessageEngine.Trace(_astTransformationNode, Severity.Error, null, "Internal SSIS Object Corruption when calling AcquireConnections HRESULT: {0}\n{1}", seh.ErrorCode.ToString("X"), seh.ToString()); } try { Instance.ReinitializeMetaData(); } catch (System.Runtime.InteropServices.COMException e) { if (e.ErrorCode == -1071636248) { var table = _astTransformationNode.FirstChildOfType <AstTableNode>(); string refName = table != null ? table.Name : "table"; MessageEngine.Trace(_astTransformationNode, Severity.Error, "V0203", "Failed to open {0} for validation.", refName); } else if (!connectionErrorFound || e.ErrorCode != -1071636446) { MessageEngine.Trace(_astTransformationNode, Severity.Error, "V0210", GetScrubbedErrorDescription(e.ErrorCode)); } } Instance.ReleaseConnections(); }