【问题标题】:How to Access Local Temp Table in SQL Server which is created in SSIS 2008如何访问在 SSIS 2008 中创建的 SQL Server 中的本地临时表
【发布时间】:2018-09-12 09:10:47
【问题描述】:

我正在 SSIS 2008 包中创建一个临时表 (#Temp)。我想在 sql 存储过程中访问这个临时表中的数据。但是当我运行存储过程时,我在 sql server 中收到错误无效对象。

我尝试将延迟验证更改为 true 并保留与 true 相同的连接 但没有结果。

请对此进行更正。

【问题讨论】:

  • 这是我用谷歌搜索的第一个结果:mssqltips.com/sqlservertip/2826/…
  • 如果您不喜欢阅读,甚至还有 YouTube 视频 https://www.youtube.com/watch?v=zaL7fbUou7E
  • 我认为@Sasi 是在询问如何访问 SSIS 包之外的全局临时表。

标签: ssis


【解决方案1】:

我相信您收到的错误是由于在 SSIS 包完成后全局临时表没有活动连接。

在此处查看更多信息:Why does a global temp table created by an SSIS package disappear after completion?

如果这是用于开发或测试,您可以在本地创建全局临时表,在禁用创建全局临时表的任务后运行 SSIS 包,然后在 SSIS 包完成后查询该临时表。

【讨论】:

    【解决方案2】:

    这里的问题是您使用的是本地临时表 (#temp)。 本地临时表只能跨同一会话访问。 因此,您无法通过 SSMS 访问在 SSIS 中创建的本地临时表。

    如果您想通过 SSMS 访问由 SSIS 创建的表,请使用全局临时表 (##temp)。 但是从 sql 调用 proc 没有意义。 尝试使用执行 SQL 任务从 SSIS 包中执行过程。 如果不能解决问题,请将您的 SSIS 包设计发送给进一步讨论。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-03
      • 1970-01-01
      • 1970-01-01
      • 2015-05-22
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多