我有一些复杂的数据,我需要从一个SSIS (SQL Server集成服务)脚本任务传递到另一个SSIS脚本任务。
本质上是c#结构体的数组:
struct GeneratedReport {
public string ReportCode;
public string FileName;
public int NoOfDataRows;
};
问题是我需要一种在包的全局级别定义结构的方法,以便包内的所有脚本任务都可以使用这个全局数据结构。我找不到这样做的方法,而且我不知道该在哪里声明这样的结构。
任何帮助都非常感谢!
您可以尝试以下几种方法:
1)创建一个单独的程序集来定义这个结构,从每个脚本任务中引用它。但是你需要管理单独的程序集,将它与包一起部署,等等——但是,如果你有复杂的结构,这是值得的。
2)使用松散类型结构,而不是强类型结构。例如,使用Hashtable对象,并将此Hashtable对象放入SSIS变量中。
没有单独的程序集,但你的代码现在是不同的:
reportCode = (string)((Hashtable)variableValue)["ReportCode"];