SSIS新手在这里。ssis temp table exec proc
我有我创建基于向导的SSIS包。我添加了一个SQL任务来运行我之前单独运行的脚本,以便将过程简化为一步。该脚本使用大量临时表,并在结尾处使用一个全局## temp以使结果在进程外可访问。
当我尝试执行这个包,我得到一个复杂的“包验证错误”(错误代码0x80040E14)。我认为错误信息的执行部分是“无效的对象名称## roster5'”。
我才意识到这是被扔错误的数据流任务,所以我试图把另一个SQL任务一切之前创建表,以便数据流任务将看到表中是存在的;但它仍然给我错误:“无效的对象名称”## ROSTER_MEMBER_NEW5“。”
我缺少/做错了吗?我不知道我不知道什么。看起来这不应该是复杂的(作为一个新手,我知道这是可能的...一些重复,但我不知道该怎么问这样的问题)。基于
有几个解决方案。首先告诉我你期望在## roster5,## roser)member_news5中有多少行。 – plditallo
oops,## roster5只是全名的缩写;有大约500万行由脚本生成 – hmmmmm
您会看到一些建议将您的#temp表转换为表变量(例如@temptable)。优化器会将变量表视为具有单行的表,这将影响性能。您还将看到其他建议,例如设置frmt off(https://stackoverflow.com/questions/1579476/using-temp-tables-in-ssis)。这也会导致性能下降。我将创建一个具有可识别架构的临时表,填充它,然后通过截断时。 – plditallo