sql server—在SSIS中传递参数给BCP命令执行sql任务



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

我在Exec SQL任务

中编写了这个查询
EXEC xp_cmdshell 'bcp "SELECT * FROM TLC.dbo.World_Hosts" queryout `"C:Usersakshay.kapilaDesktopTLCForeachlearnDest?.txt" -T -c -t '`

我已经给了?在路径。我想要具体的国家来代替。它们保存在变量"国家"中。我正在使用Foreach循环,它创建而不是它应该创建一个文件ex Aus.txt,In.txt每次循环运行该特定值。

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

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

创建一个变量来保存bcp命令,它可能看起来像:

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

这里@[User::strFileName]是你想要生成的动态文件。

然后在Execute SQL Task中,将SQLSourceType更改为variable,并选择刚才生成的变量

最新更新