我创建了一个包并添加了一个数据流任务,该任务从数据库中读取数据并创建一个平坦的xml文件。然后它将文件存储在我给出的路径中,执行进程任务将其上载到远程服务器。下面是结构的样子:
数据流任务是这样的:
执行流程任务如下:
所以他们现在都工作正常,因为我有数据流平坦文件进程和执行进程任务的绝对目录路径。
但我想要做的是删除绝对路径并使用相对路径到package.dtsx文件的根文件夹而不是所有可执行文件,存储扁平的xml文件等。
因此,在线研究后,这两个链接here和here证明非常有用。我创建了一个变量和脚本任务,如上面的第一个截图所示。脚本任务的详细信息如下:
以下是脚本任务的主要功能:
添加变量后,我能够在包属性中看到变量PackagePath被分配了一些像\Package\task-name
这样的值:
但是我不确定它是什么路径以及如何到达根目录或将根目录路径分配给变量。
我是SSIS的新手,所以不确定我做错了什么或错过了什么。过去几天一直在努力解决这个问题。任何帮助表示赞赏。
答案 0 :(得分:1)
要在执行流程任务中使用变量,您必须使用表达式,打开Execute Process Task
编辑器,转到表达式选项卡并编写表达式。
您可以参考这篇文章获取详细示例:
您还可以阅读有关Execute Process Task
的更多信息并在以下位置撰写表达式:
注意:右键单击Execute Process Task并选择Properties。在属性窗口中,您将有一个DelayValidation
选项,当前设置为False
将其翻转为True
。