2

我创建了一个包并添加了一个数据流任务,该任务从数据库中读取数据并创建一个扁平的 xml 文件。然后它将文件存储在我给定的路径中,执行过程任务将其上传到远程服务器。下面是结构的样子:

在此处输入图像描述

数据流任务是这样的:

在此处输入图像描述

执行流程任务如下:

在此处输入图像描述

所以它们现在都工作正常,因为我有数据流平面文件进程和执行进程任务的绝对目录路径。

但我想要做的是删除绝对路径并使用我的 package.dtsx 文件的根文件夹的相对路径而不是所有可执行文件,存储扁平的 xml 文件等。

因此,在网上研究后,这两个链接在这里这里被证明非常有帮助。我创建了一个变量和脚本任务,如上面的第一个屏幕截图所示。脚本任务的详细信息是:

在此处输入图像描述

下面是脚本任务的主要功能:

在此处输入图像描述

添加变量后,我可以在包属性中看到变量 PackagePath 被分配了一些值,如下所示\Package\task-name

在此处输入图像描述

但我不确定那是什么路径以及如何到达根目录或将根目录路径分配给变量。

我是 SSIS 的新手,所以不确定我做错了还是遗漏了什么。最近几天一直在努力解决这个问题。任何帮助表示赞赏。

4

1 回答 1

1

要在执行流程任务中使用变量,您必须使用表达式,打开Execute Process Task编辑器,转到表达式选项卡并编写表达式。

详细示例可以参考这篇文章:

您还可以在以下位置阅读更多关于Execute Process Task和编写表达式的信息:


注意:右键单击您的执行流程任务并选择属性。在属性窗口中,您将有一个DelayValidation当前设置为FalseFlip that to的选项True

于 2017-12-26T19:22:53.400 回答