【问题标题】:DTS Script Task: Runtime Error in SSIS task due to referenced DLLsDTS 脚本任务:由于引用的 DLL,SSIS 任务中的运行时错误
【发布时间】:2017-06-22 17:30:37
【问题描述】:

我一直在研究和测试这个错误一段时间。

我已在 Try:Catch 旁边注释掉所有代码,以尝试更轻松地定位问题。代码如下所示:

using DataLoader;
//other references and namespace excluded for sake of space
public void Main()
    {
        try
        {
          var process = new LoadProcess();

          Dts.TaskResult = (int)ScriptResults.Success;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
            Dts.TaskResult = (int)ScriptResults.Failure;
        }
   }

LoadProcess() 是另一个库中的类变量。我想确保代码将在脚本任务之外运行,因此我尝试在单独的控制台应用程序中运行它,并且它使用相同的 DLL 运行良好。 我确保 .NET 框架在属性中设置为 4.5(我还尝试了 4.5.1 和 4.5.2 和 4.6 来确保),并确保我的环境变量比 2800 的最大长度短。

这是解决方案资源管理器在脚本任务中的样子:

那里有额外的引用,以防 DLL 出于某种奇怪的原因需要它们。

如果您有任何想法可能导致此错误,请告诉我,因为我已经卡了很长时间了。感谢您的宝贵时间。

【问题讨论】:

    标签: c# .net dll ssis


    【解决方案1】:

    经过大量测试,我发现这个错误是由于脚本组件无法访问被引用的DLL造成的。当无法找到脚本中的引用之一(例如文件不存在错误或未找到库)时,将引发错误:“调用目标已引发异常”。

    这是因为脚本组件的位置存储在与 SSIS 包的实际解决方案不同的位置,从而导致 DLL 无法访问。我希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-20
      • 2022-01-08
      相关资源
      最近更新 更多