执行bat文件的ssis中的多输入和多输出

时间:2014-02-14 10:22:53

标签: c# ssis

我遇到如下问题,请尝试给我一些提示或帮助。

  1. 我正在ssis中实现vb代码以减少时间。所以我需要和vb项目完全一样。
  2. 从用户那里获取输入,并根据文件名检查文件名,从另外2个第二类文件中选择另一个文件作为输入。
  3. 然后它会做一些操作并提供输出。
  4. 我有3种zip文件作为第一种输入。
  5. 我必须解压缩这些文件。
  6. 问题:问题是如何解压缩文件。以及如何处理多输入和输出的可能性。是否可以在运行时提供sorce文件..? 如何使用.bat文件

    解决方案:我想以下解决方案。

    通过脚本管理器获取输入(脚本组件作为源)。解压缩第一个文件并读取文件并将输出保存在输出列中。

    从平面文件管理器获取第二个文件,但在这里我有问题我需要知道zip文件的名称,我必须选择第二个文件。那么如何在运行时选择平面文件连接manaeger的文件名。?

    有点解决:                 现在我在数据流任务之前使用Script Task。我从用户获取文件名,然后执行相应的数据流。但我在文件浏览中遇到问题     OpenFileDialog openPathDial = new OpenFileDialog(); 我在下面有错误。   => DialogResult diloResFile = openPathDial.ShowDialog();

    错误:=错误:System.Reflection.TargetInvocationException:调用目标已抛出异常。 ---> System.Threading.ThreadStateException:在进行OLE调用之前,必须将当前线程设置为单线程单元(STA)模式。确保您的Main函数标记了STAThreadAttribute。仅当调试器附加到进程时才会引发此异常。

    感谢你 我知道它太多了,但你的提示可以解决这个问题。

    Nitesh

1 个答案:

答案 0 :(得分:0)

所以我将问题规范化如下。

  1. 我在Control flow中使用Script Tast并要求在C#中输入文件Name using a form。我正在获取文件名作为浏览文件。

  2. 然后解压缩文件,并根据我设置的3个变量的文件名检查文件的名称。

  3. 根据变量,我采取了3个数据流任务。并且它适用于上述指定的问题。

  4. 适用于不同的数据流任务。

  5. 但是当我使用平面文件源名称动态地使用时,我有另一个问题(使用表达式)它给了我关于无法打开文件的错误。

    错误“[平面文件源[1]]错误:无法打开数据文件”C:\ Documents and Settings \ XQN4P \ Desktop \ Inputs \ Intraday \ OPTION_DAILY_INTRADAY_ASIA20140212.csv“。 “

    请注意,此文件是由用户解压缩输入的文件生成的。

    谢谢