在SSIS中将参数传递给BCP命令执行SQL任务

时间:2015-07-08 07:00:24

标签: sql sql-server ssis bcp

首先,我可以在BCP命令中传递Path的参数吗?

我在Exec SQL任务中编写了这个查询

EXEC xp_cmdshell 'bcp "SELECT * FROM TLC.dbo.World_Hosts" queryout `"C:\Users\akshay.kapila\Desktop\TLC\Foreachlearn\Dest\?.txt" -T -c -t '`
我已经给了?在路上。我想要特定的国家代替那个国家。它们保存在变量" Country"。我正在使用Foreach循环,它创建了一个文件ex Aus.txt,In.txt每次循环运行该特定值。

我可以用这种方式吗?如果没有,我如何在BCP命令中将变量值传递给Path?

1 个答案:

答案 0 :(得分:1)

您可以在执行SQL任务中使用变量作为SQLSourceType。

创建一个变量来保存bcp命令,它可能如下所示:

"EXEC xp_cmdshell 'bcp \"SELECT ''abc'' as output\" queryout \"" + @[User::strFileName] + "\" -T -c -t '"

此处@ [User :: strFileName]是您要生成的动态文件。

然后在执行SQL任务中,将SQLSourceType更改为变量,并选择刚刚生成的变量。