我有一个查询,它根据Vertica中使用的START DATE和END DATA参数提取一组数据。
以下是vertica查询中的过滤器:
其中list.transaction_date介于:start_date和:end_date
之间
我如何在" SQL命令文本中处理这个问题:" SSIS ODBC连接的框?
答案 0 :(得分:0)
使用ODBC驱动程序,您可以使用?
表示参数,这是一个基于一个序数的系统https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2012/ms140355(v=sql.110)
你的文件管理器会变成
where list.transaction_date between ? and ?
然后在执行SQL任务的参数选项卡中或单击ODBC源中的参数按钮并将参数名称1连接到@ [User :: MyStartDate],将参数名称2连接到@ [User :: MyEndDate]
这假设您有两个名为MyStartDate和MyEndDate的SSIS变量。 $ 64k的问题是:应该是什么数据类型?我不知道。最好的情况是,您可以在SSIS中使用Date / Datetime数据类型,ODBC驱动程序可以在两者之间转换格式。不太好的情况是您的变量成为字符串,您必须将它们操作为Vertica的允许值。
绝对最糟糕的情况是您无法在工具中进行参数化,而是需要通过表达式构建动态字符串,并使用符合Vertica的值和语法。