【问题标题】:SSIS System.Reflection.TargetInvocationExceptionSSIS System.Reflection.TargetInvocationException
【发布时间】:2018-02-16 13:26:51
【问题描述】:

我最近构建了一个使用 Excel 2007 电子表格(.xlsx 扩展名)的 SSIS 包 (2008)。电子表格的内容被转储到记录集对象中,然后传递给脚本任务编辑器,该编辑器遍历每一行,以适当的方式格式化数据,然后将其写入 csv 文件。

CSV 输出与 Excel 文件所在的网络位置相同。在我的本地开发环境中,一切正常,但是当包部署到实时 SQL 服务器并从那里执行时,我们得到以下错误:

错误:2018-02-16 12:42:41.60 代码:0x00000001 来源: 将记录集导出到 CSV 说明: System.Reflection.TargetInvocationException:已引发异常 通过调用的目标。

---> Microsoft.SqlServer.Dts.Runtime.DtsRuntimeException: "component "Recordset Destination" (338)" 写了 564 行。

---> System.Runtime.InteropServices.COMException (0xC0010014): "component "Recordset Destination" (338)" 写了 564 行。

在 Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSVa​​riable100.get_Value()

在 Microsoft.SqlServer.Dts.Runtime.Variable.get_Value()

---内部异常堆栈跟踪结束---

在 Microsoft.SqlServer.Dts.Runtime.Variable.get_Value()

在 ST_5a1e9be825584201adc4e2b6248e429e.vbproj.ScriptMain.Main()

---内部异常堆栈跟踪结束---

在 System.RuntimeMethodHandle._InvokeMethodFast(对象目标, Object[] 参数、SignatureStruct& sig、MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)

在 System.RuntimeMethodHandle.InvokeMethodFast(对象目标,对象 [] 参数,签名 sig,MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)

在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr、Binder binder、Object[] 参数、CultureInfo 文化、 布尔型 skipVisibilityChecks)

在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] 参数, CultureInfo 文化)

在 System.RuntimeType.InvokeMember(字符串名称,BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] 修饰符、CultureInfo 文化、String[] 命名参数)

在 System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder、Object 目标、Object[] args、CultureInfo 文化)

在 Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()

结束错误 DTExec:包执行返回 DTSER_FAILURE (1)。
开始时间:12:42:39 结束时间:12:42:41 经过时间:1.64 秒。

包执行失败。步骤失败。

最初我们认为问题是因为该程序包试图运行 64 位版本的 Excel,但我们已将其排除在外。

我完全无法理解为什么程序包在我的本地机器上运行没有问题,但在远程服务器上却失败了,特别是因为我用于此的代码几乎与一个单独的包,可以正常工作。

【问题讨论】:

    标签: sql-server csv ssis excel-2007


    【解决方案1】:

    我会确保您要转储到的 CSV 具有正确的包写入权限。此外,您的环境已修补为最新。

    我确实找到了一个帖子 here,其中有人提到与您的问题类似。他说他通过删除和重建记录集对象来解决这个问题 - 如果上述方法不起作用,我会尝试下一个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-30
      • 1970-01-01
      • 2015-03-31
      • 1970-01-01
      • 2017-02-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多