我们需要将表从Access复制到SQL。事情是源中的表名每天都不同。 我已按照此帖How do I programmatically get the list of MS Access tables within an SSIS package?
的解决方案中显示的步骤进行操作问题在于:
我更改了变量名称,因为该帖子中陈述的问题与我的非常相似。 我按照步骤将Country更改为Access数据库的表名,让我们说CITY。问题是当进程在Access中循环表时,复制到SQL中的表的数据总是相同的。存储在CITY中的数据,似乎不是更改表,它总是使用提供给OLE DB源的表(如屏幕截图14#所示)(变量'SelectQuery'中提供的表名)
所以我创建了SQL中的所有表,但它们都填充了相同的信息。信息来自同一个表(在变量中标明其名称的那个)
谢谢,有什么建议吗?
答案 0 :(得分:1)
通过阅读链接的解决方案,它看起来不正确或缺少一步。现在,屏幕截图#14指定'来自变量的SQL命令'和'SelectQuery'作为变量源;我无法看到SelectQuery的更新位置。
解决方案1: 将OLE DB Source设置为“表名或视图名称变量”,并将有问题的变量设置为TableName(每次迭代由ForEach容器更新)
解决方案2:将SelectQuery更改为表达式驱动的变量,即"select * from " + @[User:TableName]
答案 1 :(得分:0)
你确实意识到该示例中的表名必须与excel上的表名匹配,对吗?因此,您可能必须在访问时执行类似的操作。
另外,发布更多信息。似乎表变量的值没有更新。告诉我们应该如何。