SSIS将文件从一个位置复制到另一位置

时间:2019-03-22 12:11:49

标签: c# sql-server ssis etl script-task

我想将特定文件从一个位置复制到另一个位置。我有一个消息框,打印文件复制的位置,如下所示: source 目的地

enter image description here

我收到以下错误:

enter image description here

2 个答案:

答案 0 :(得分:3)

基于File.Copy Method,第二个参数是新文件名而不是目录:

  

目标文件的名称。这不能是目录或现有文件。

您需要使用类似的逻辑:

FileCopy(filestocopy[p],targetDir + "\\" + Path.GetFileName(filestocopy[p]));

还建议检查该文件是否已存在于目录中:

if (!File.Exists(targetDir + "\\" + Path.GetFileName(filestocopy[p])))
    FileCopy(filestocopy[p],targetDir + "\\" + Path.GetFileName(filestocopy[p]));

如果您需要覆盖任何现有文件,可以add a boolean parameter

FileCopy(filestocopy[p],targetDir + "\\" + Path.GetFileName(filestocopy[p]),true);

答案 1 :(得分:1)

您需要为目标参数指定[文件目录] + [文件名] + [文件扩展名]

执行以下操作:

<wrapper>
 <data>
  <item_a>foo bar</item_a>
  <item_b>fun times</item_b>
 </data>
</wrapper>