【发布时间】:2016-03-16 09:57:34
【问题描述】:
我正在尝试使用公用表表达式将增量数据从 ODBC 服务器加载到 SQL 服务器。 在 Dbeabver 应用程序中运行查询时,正确执行:
with test as
(
SELECT userid,sum(goldbalance)
FROM Server.events_live
where eventTimestamp>=DATE '2016-01-01' + INTERVAL '-100 day'
group by userid
order by sum(goldbalance) desc)
)
select * from test
从 ODBC 源的 sql 命令表达式运行它时,由于语法错误而失败。它看起来如下:
with test as
(
SELECT userid,sum(goldbalance)
FROM deltadna.events_live
where eventTimestamp>=DATE '"+@[User::datestring]+"' + INTERVAL '-100 day'
group by userid
order by sum(goldbalance) desc)
)
select * from test"
datestring 变量正在获取服务器日期并将其转换为格式为 yyyy-mm-dd 的字符串。我通常使用这种方法从 ADO.NET 中提取数据,并且可以正常工作。
还有其他方法可以使用 ssis 变量从 ODBC 服务器中提取增量数据吗?
【问题讨论】:
-
我不知道有什么其他方法可以做到这一点,我通常也是这样做的。提示:将 Sql 命令表达式放在变量中以便于维护。
标签: sql-server ssis odbc