首页 文章

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

提问于
浏览
0

我有一个问题,请尝试给我一些提示或帮助 .

  • 我正在ssis中实现vb代码以减少时间 . 所以我需要和vb项目完全一样 .

  • 正在从用户那里获取输入并根据文件名检查文件名,它从另外两个第二类文件中选择另一个文件作为输入 .

  • 然后它会做一些操作并提供输出 .

  • 我有3种zip文件作为第一种输入 .

  • 我必须解压缩这些文件 .

问题:问题是如何解压缩文件 . 以及如何处理多输入和输出的可能性 . 是否可以在运行时提供sorce文件..?如何使用.bat文件

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

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

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

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

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

感谢你,我知道它太多,但你的提示将有助于解决这个问题 .

Nitesh

1 回答

  • 0

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

    • 我在控制流中使用Script Tast并要求输入文件名使用C#中的表单 . 我正在获取文件名作为浏览文件 .

    • 然后解压缩文件并根据我设置3变量的文件名检查文件名,这些文件是globel .

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

    • 它适用于不同的数据流任务 .

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

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

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

    谢谢

相关问题