SSIS 2008 脚本任务中引用的程序集无法正常工作

发布于 2024-12-03 08:01:22 字数 202 浏览 0 评论 0原文

我在 ssis 脚本任务中引用了自定义程序集。脚本任务显然工作正常,但程序集(首先使用控制台程序进行测试)不再工作。 该程序集应该将文本文件转换为 csv 文件以供进一步导入。一旦加载到脚本任务中,引用的函数就会创建一个空文件。日志记录没有带来任何额外信息。

目前,该程序集在 GAC 以及 MSSQL 服务器的 DTS\SDK 文件夹中进行了强命名和签名。 有什么想法吗?

I have reference a custom assembly in an ssis script task. The script task apparently works correctly but the assembly (first tested with a console program) doesn't work anymore.
The assembly is supposed to transform a text file to a csv file for further import. Once loaded in the script task the function referenced does create an empty file. Logging did not bring any addtionnal info.

Currently the assembly is strongly named, signed, in the GAC as well as in the DTS\SDK folder of MSSQL server.
Any idea ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

债姬 2024-12-10 08:01:22

实际上错误是在我自己的汇编中​​。因此,总结在 ssis 脚本任务中包含和使用程序集文件的正确且简单的方法是:

  1. 使用正确的框架版本编译程序集(在我的例子中为 3.5)
  2. 对程序集进行签名
  3. 将程序集放入 GAC 中
  4. 引用程序集脚本任务并添加“imports”指令

实际上将程序集放入 DTS\bin 文件夹中不会产生任何差异。

Actually the error was in my own assembly. So to summarize the correct and easy way to include and use an assembly file in a ssis script task is :

  1. Compile the assembly with the correct framework version (in my case 3.5)
  2. Sign the assembly
  3. Put the assembly in the GAC
  4. Reference the assembly within the script task and add an "imports" directive

Actually putting the assembly in the DTS\bin folder did not produce any difference.

埋葬我深情 2024-12-10 08:01:22

这就是为什么我通常不喜欢在 SSIS 中使用自定义程序集。在这种情况下,我将编写一个 jig (exe) 来调用程序集并更改 SSIS 来调用我的 exe。在 jig (exe) 中,我将对程序集的调用包装在 try/catch 块中。我将跟踪传入的参数并将任何错误记录到文本文件或系统事件日志中。通常,这种方法可以让我足够深入地了解真正的问题(错误的参数、权限问题、奇怪的数据等),以及重现问题和验证解决方案的好方法。

This is why I don't usually like using custom assemblies in SSIS. In this case, I would write a jig (exe) to call the assembly and change SSIS to call my exe. In the jig (exe) I would wrap the call to the assembly in a try/catch block. I would trace the incoming parameters and log any errors to a text file or to the system Event Log. Usually, this approach gives me enough insight into the real problem (bad param, permission problem, weird data, etc) and a good way to recreate the problem and verify a solution.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文