在一个执行SQL任务中创建的临时表在SSIS中的另一个执行SQL任务中不可用

在一个执行SQL任务中创建的临时表在SSIS中的另一个执行SQL任务中不可用,ssis,Ssis,我在一个executesql任务中创建了一个全局临时表,并在该表中插入了一些记录。在另一个执行SQL任务中调用结果时,它表示对象名称无效 请建议 谢谢 Sasi如果将两个执行SQL任务放在同一个序列容器中,并将序列容器上的TransactionOption设置为Required,则可以从第二个执行SQL任务访问全局临时表。您可以将TransactionOption保留为默认值,以支持两个执行SQL任务,因为它们将加入父序列容器的事务。临时表的寿命限制为与其关联的任务,因此您将无法像这样访问它。

我在一个executesql任务中创建了一个全局临时表,并在该表中插入了一些记录。在另一个执行SQL任务中调用结果时,它表示对象名称无效

请建议

谢谢
Sasi

如果将两个执行SQL任务放在同一个序列容器中,并将序列容器上的TransactionOption设置为Required,则可以从第二个执行SQL任务访问全局临时表。您可以将TransactionOption保留为默认值,以支持两个执行SQL任务,因为它们将加入父序列容器的事务。

临时表的寿命限制为与其关联的任务,因此您将无法像这样访问它。
您必须创建一个更持久的解决方案,或者像上面提到的userfl89那样处理它。

可以通过在connection Manager中使用Retain same connection=true来完成

谢谢
Sasi

您不能在另一个执行SQL任务中引用临时表。然后你必须创建一个真正的持久化表。展示你的代码如何创建你的表。在第二个sql任务中如何调用它我在一个执行sql任务中创建了一个temp1,在另一个执行sql任务中,我像从mytable插入temp1 select*一样执行错误是第二个执行sql任务中的无效对象temp1是的,因为它与同一事务无关。因此,您要么选择持久化表,要么尝试userfl89的解决方案。我收到以下错误:SSIS运行时无法启动分布式事务,原因是错误0x8004D01B事务管理器不可用。。DTC事务无法启动。这可能是因为MSDTC服务未运行。MS DTC服务当前是否正在运行?您可以通过进入控制面板>管理工具>服务>来检查这一点,然后找到分布式事务协调器服务,如果它没有运行,则启动它。这可以通过在连接管理器中使用retain same connection true来解决