我在 ForEach Container 中有一个包含 Foreach容器和执行流程任务的包。在Execute Process Task中出现一些错误时,它会重定向到 OnError ForEach Container 的事件处理程序。
我正在使用任务的 StandardErrorvariable 属性从.exe捕获错误,并在 OnError 事件处理程序中的脚本任务中使用它。
脚本任务失败说
错误:尝试锁定变量时检测到死锁 " User :: ErrorExcelName,User :: ErrorFolder,User :: ErrorMessage, 用户::文件名"用于读取访问。 16岁以后无法获得锁定 尝试和超时。
如何解决这个问题?
答案 0 :(得分:0)
您可以通过在代码中显式管理变量锁定来轻松解决问题。 (不向ReadOnlyVariables
和ReadWriteVariables
属性添加变量。
string strFilename;
Variables lockedVariables = null;
Dts.VariableDispenser.LockOneForRead("FileName", ref lockedVariables);
strFilename = lockedVariables["FileName"].Value;
lockedVariables.Unlock();
<强>参考强>