【发布时间】:2013-11-20 10:29:19
【问题描述】:
您好,我需要一些帮助这将是我的第一个 SSIS 包,我正在学习中。到目前为止,这就是我所拥有的。
我创建了一个控制流。然后我创建了三个 ADO.Net 连接,两个用于源,一个用于目标。然后我创建了数据流任务,它将数据从一个数据库中的表复制到同一服务器上另一个数据库中的相应表中。数据流任务有 2 个 ADO NET Source 和 ADO NET Destination。目的地只是将字段映射在一起。
好的,到目前为止一切顺利。这是我的问题。一些源查询具有日期条件。一个例子是:
SELECT --Code Here
WHERE CONVERT(varchar, call_date, 112) BETWEEN '6/1/2013' AND '7/1/2013'
我想用变量替换这些硬编码的日期。比如:
WHERE CONVERT(varchar, call_date, 112) BETWEEN STARTDATE AND ENDATE
我已经阅读了几篇文章并尝试按照所描述的内容进行操作,但并没有深入了解。所以请使用我的示例告诉我如何执行此操作。如果我可以让包在我运行它时提示我输入日期,那就太好了,但我很乐意学习如何将变量传递到查询中。
这是我知道的唯一解决方案,因为我只是 SSIS 包的初学者,希望有人能帮助我
【问题讨论】:
-
嗨,你看过这个例子吗?真的很简单,可以显示您正在寻找的内容sqlserversolutions.blogspot.ch/2008/10/…
-
您使用 ADO.NET 组件有什么特别的原因吗?如果您不介意,您可以切换到允许从变量查询的 OLE DB 源 组件。然后,您可以为该变量创建所需功能的表达式。
-
@TsSkTo 这只是我知道如何在 ado.net 中完成我的项目,也许您可以告诉我如何在 OLEDB 中进行此操作?
-
@Raphael 它对我有一点帮助,但它不是我在我的包中需要的
-
试试这个:stackoverflow.com/questions/8582211/… 如果它不起作用,我会用 OLEDB 语义给出答案