2009-04-29 81 views
2

我刚刚在报表管理器中使用使用临时表的存储过程创建了一个报表。Reporting Services 2000中的临时表问题

我得到错误“无法生成用于查询。无效的对象名称#XXXX“字段列表”

我读这是因为,当报表管理器试图PrepareQuery它运行到困难,因为临时表尚不存在,这是正确的吗?如果是这样,你有任何解决方法?

回答

3

我碰到过这一次......实际上同样的事情。我通过在创建任何临时表之前将此行放入我的SP中进行了修复:

SET FMTONLY OFF 

这应该为它做点诀窍。

0

唯一的方法是明显的,让你的临时表成为一个永久的表并自己进行管理(在使用后删除行等)。这可能会更快以及可索引,您可以根据需要添加密钥以确保完整性。它也可以充当长时间运行查询的缓存。

如果您确定只有一个用户调用sp,那么您可以使用截断而不是删除从表中转储数据。

没有太大的帮助,但我从来没有找到任何其他方式做到这一点。

0

我对于报告服务并不十分了解,但这听起来对我来说很准确。

这听起来像你可能无法使用临时表来存储数据。您可能需要使用永久表。

我会问自己,为什么我反正用单独的表。数据是否已经存在于其他表格中?我能从那里得到它吗?有时候你没有选择使用单独的桌子,只要确保。

0

我不知道到底是什么原因导致了问题,但可以尝试使用变量表。

declare @table table (Field int)