有没有办法在 SSIS 2008 R2 中创建和使用全局数据结构(特别是 c# struct)

发布于 2024-11-19 21:30:19 字数 342 浏览 1 评论 0原文

我有一些复杂的数据,需要从一个 SSIS(SQL Server 集成服务)脚本任务传递到另一个 SSIS 脚本任务。

它本质上是这个 C# 结构的数组:

struct GeneratedReport {
        public string ReportCode;
        public string FileName;
        public int NoOfDataRows;
};

问题是我需要一种方法在包中的全局级别定义该结构,以便包中的所有脚本任务都可以使用这个全局数据结构。我找不到方法,也不知道在哪里声明这样的结构。

非常感谢任何帮助!

I have some complex data that I need to pass from one SSIS (SQL Server Integration Services) script task to another SSIS script task.

It is essentially an array of this C# struct:

struct GeneratedReport {
        public string ReportCode;
        public string FileName;
        public int NoOfDataRows;
};

The problem is that I need a way to define the struct at a global level in the package so that all script tasks within the package can use this global data structure. I can find no way of doing it and I don't know where I would declare such a structure.

Any help much appreciated!

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

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

发布评论

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

评论(1

雨的味道风的声音 2024-11-26 21:30:20

您可以尝试以下几种方法:

1)创建一个定义此结构的单独程序集,从每个脚本任务引用它。但是您需要管理单独的程序集,将其与包一起部署等 - 不过,如果您有复杂的结构,那么这是值得的。

2)使用松散类型结构,而不是强类型结构。例如使用Hashtable对象,并将这个Hashtable对象放入SSIS变量中。

没有单独的程序集,但你的代码现在不同了:

reportCode = (string)((Hashtable)variableValue)["ReportCode"];

There are couple approaches you might try:

1) create a separate assembly that defines this structure, reference it from every script task. But you'll need to manage separate assembly, deploy it with the package, etc - still, if you have complex structure, it is worth it.

2) use loosely-typed structure, rather than strong-typed one. E.g. use Hashtable object, and put this Hashtable object into SSIS variable.

No separate assembly, but your code now is different:

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