我正在SSIS 2008程序包中创建一个临时表(#Temp)。我想从sql存储过程中的此临时表访问数据。但是在运行存储过程时,我在sql server中收到错误无效对象。
我尝试将延迟验证更改为true并保留与true相同的连接 但没有结果。
请对此进行更正。
答案 0 :(得分:0)
我相信您收到的错误是由于SSIS包完成后,全局临时表没有活动的连接。
在此处查看更多信息:Why does a global temp table created by an SSIS package disappear after completion?
如果这是用于开发或测试,则可以在本地创建全局临时表,在禁用创建全局临时表的任务后运行SSIS程序包,然后在SSIS程序包完成后查询该临时表。
答案 1 :(得分:0)
这里的问题是您正在使用本地临时表(#temp)。 只能在同一会话之间访问本地临时表。 因此,无法通过SSMS访问在SSIS中创建的本地临时表。
如果要通过SSMS访问SSIS创建的表,请使用全局临时表(## temp)。 但是从sql调用proc没有任何意义。 尝试使用execute SQL任务从SSIS包中执行过程。 如果您的SSIS套件设计不能解决问题,请发送进一步的讨论。