2014-09-24 36 views
0

我已经放在一起SSIS包并将其部署到SQL服务器。这个软件包需要按需运行,需要传递给它的值,批号和请求数据的人的用户ID。我花了相当多的时间研究如何传递价值观,并找不到任何我可以使用的价值。最简单的做法是从存储过程执行xp_cmdshell,或者直接从应用程序调用DTEXEC,但在这种情况下不能使用它们。该公司已经决定,xp_cmdshell具有太大的安全风险,并不是每个用户都将拥有直接调用DTEXEC的必要权限,公司也没有必要的许可证来在每个用户的计算机上安装二进制文件,并让该软件包在本地运行。将值传递到SSIS包

所有这一切都导致了一个问题:我如何通过值到SSIS包?

我看了使用SQL工作,因为他们可以修改包内的变量,但然后我卡具有获得值到工作并没有发现直接这样做的任何方式。我已经看到它建议使用表并让包从那里获取值,但是这留下了如何处理试图同时运行包的多个人的问题。另外,如果有人想知道软件包在做什么,它正在做一堆模糊查找,而且由于我们只使用SQL标准,所以我没有从T-内部做模糊的东西的选项, SQL通过主数据服务。想法?

+0

做将是使用[表作为队列]的一种方式(http://rusanu.com/2010/03/26/using-tables-as-queues/)。所以第一步就是将顶级项目出列并处理它。尽管如此,除非您有多个SQL代理作业,否则不会运行该程序包的多个实例。 – 2014-09-24 22:19:10

+0

本网站是否回答您的问题:http://www.bidn.com/blogs/DevinKnight/ssis/1655/passing-values-into-an-ssis-package-at-runtime-from-outside-the-package? – 2014-09-24 23:55:43

+1

您也不会有使用模糊组件的选项,因为这些是企业版功能。 [支持功能的版本](http://msdn.microsoft.com/en-us/library/cc645993(v = sql.100).aspx)模糊的东西是大约55%的方式向下的页面 – billinkc 2014-09-25 02:45:25

回答

0

所以事实证明,SQL标准不能在所有使用模糊功能,T-SQL或SSIS(感谢,billinkc,指出了这一点)是否。所以最简单的答案就是我们要回到绘图板上,讨论如何满足我们的数据搜索需求。