Variables 如何在不编写脚本的情况下使用ssis创建空的.txt文件
我的第一个任务是文件系统任务。此任务将创建一个文件夹。现在我不知道如何在文件系统任务刚刚创建的文件夹中创建空白文本文件 我创建了两个变量-Variables 如何在不编写脚本的情况下使用ssis创建空的.txt文件,variables,ssis,filesystems,etl,Variables,Ssis,Filesystems,Etl,我的第一个任务是文件系统任务。此任务将创建一个文件夹。现在我不知道如何在文件系统任务刚刚创建的文件夹中创建空白文本文件 我创建了两个变量-mypath(c:\sample\files)和myfilename(test.txt) 我已经创建了新的文件连接,并从使用类型和文件下选择了创建文件选项:我已经给出了@[user::mypath]+@[user::myfilename] 但我得到的错误是: 包验证错误 有人能帮我创建一个新的文本文件吗?好的,您不能使用文件系统任务创建一个空的文本文件 如果不
mypath
(c:\sample\files)和myfilename
(test.txt)
我已经创建了新的文件连接,并从使用类型和文件下选择了创建文件选项:我已经给出了@[user::mypath]+@[user::myfilename]
但我得到的错误是:
包验证错误
有人能帮我创建一个新的文本文件吗?好的,您不能使用文件系统任务创建一个空的文本文件 如果不想使用脚本任务
想到的最简单的方法是使用executeprocess任务。您将使用的进程是cmd.exe这是命令行。从那里您将生成一个新实例并终止
/c
,您将在那里执行echo
命令。我们将指定echo off
,以便不打印任何内容。我们将使用标准的输出重定向操作符
命令行调用看起来像
C:\Users\billinkfc>cmd.exe /C echo off > \tmp\tmp\t2.txt
SSIS变量
我创建了两个变量
第一个是CurrentFileName,它包含我要创建的内容的路径。C:\ssisdata\so_32748216.txt
第二个使用表达式构建InputParameters变量的值<代码>“/C echo off>”+@[User::CurrentFileName]
为第一个变量填写正确的值,或者在运行时设置,第二个变量将在该位置创建空文件
使用它
将执行流程任务添加到控制流中。像这样配置它
在“表达式”选项卡中,指定参数为@[User::InputParameters]。这样可以确保,如果更改CurrentFileName的值,任务也会随之更改位置
Biml
Biml,商业智能标记语言,是做SSIS的每个人都应该知道的东西。原因有很多,但在本例中,这是因为以下代码将为您创建一个SSIS包,其中包含上述变量以及一个执行流程任务—这有多酷
您只需安装visual studio/bids/ssdt bi版本。在integration services项目中,右键单击该项目并选择“添加新biml文件”。将以下内容粘贴到中,然后右键单击并选择生成SSIS包
赢
c:\ssisdata\so_32748216.txt
+@[User::CurrentFileName]
@[用户::InputParameters]
<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<Packages>
<Package Name="so_32748216">
<Variables>
<Variable DataType="String" Name="CurrentFileName">c:\ssisdata\so_32748216.txt</Variable>
<Variable DataType="String" Name="InputParameters" EvaluateAsExpression="true"><![CDATA["/C echo off > "]]> + @[User::CurrentFileName]</Variable>
</Variables>
<Tasks>
<ExecuteProcess
Executable="C:\Windows\System32\cmd.exe"
Arguments="/C echo off > OverrideViaExpression.txt"
Name="EPT Create file">
<Expressions>
<Expression ExternalProperty="Arguments">@[User::InputParameters]</Expression>
</Expressions>
</ExecuteProcess>
</Tasks>
</Package>
</Packages>
</Biml>