有没有办法在 SSIS 2008 R2 中创建和使用全局数据结构(特别是 c# struct)
我有一些复杂的数据,需要从一个 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以尝试以下几种方法:
1)创建一个定义此结构的单独程序集,从每个脚本任务引用它。但是您需要管理单独的程序集,将其与包一起部署等 - 不过,如果您有复杂的结构,那么这是值得的。
2)使用松散类型结构,而不是强类型结构。例如使用Hashtable对象,并将这个Hashtable对象放入SSIS变量中。
没有单独的程序集,但你的代码现在不同了:
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: