最近在利用 SSRS 2005 做报表的时候,调用带有临时表的数据源时,系统会报错,并无法进入向导的下一步,错误如下:
There is an error in the query. Invalid object name '#temptb'.
经过研究后想到如下三种解决方案:
1. 使用表变量代替临时表,这样做法可以避免SSRS 2005 的语法错误提示,缺点就是如果处理的数据量比较大,会占用过大的内存,并且报表加载时间过长。
2.使用一个不包含临时表的SQL语句创建报表,创建成功以后,修改数据源,替换上包含临时表的SQL命令或者存储过程,这时用SSRS 2005自带的语法检查功能对数据源语法检测也会报错,但是不会影响报表的保存和加载。为了测试在并发调用报表的情况下,临时表内的数据是否会混淆,我做了个测试,将建好的需要运行一段时间才能生成的带有临时表的报表发布到报表服务器,然后同时打开多个网页访问该报表,报表同时加载,但是数据之间仍就保持独立。测试结果说明SSRS 2005在并发条件下调用临时表,与其他程序调用临时表相同,不会影响最后的显示结果。 当然上面提到的临时表指的是本地临时表(以#开头),如果是全局临时表(以##开头),则报表之间将会共享全局临时表中的数据。
3.将报表升级到SSRS 2008, SSRS 2008支持临时表的使用。
关于sqlserver 2005 使用临时表的问题( Invalid object name #temptb)
2020-07-06 16:20MSSQL教程网 Sql Server
最近在利用 SSRS 2005 做报表的时候,调用带有临时表的数据源时,系统会报错,并无法进入向导的下一步,提示There is an error in the query. Invalid object name #temptb
延伸 · 阅读
- 2022-04-18你好奇过 MySQL 内部临时表存了什么吗?
- 2021-12-22SQL2005新建复制“找不到存储过程 错误:2812”的
- 2021-10-15SQLServer 2005 和Oracle 语法的一点差异小结
- 2021-09-30sql2005可实时监测数据库版本控制SQL的触发器
- 2021-09-24springboot中实现通过后台创建临时表
- 2021-04-21浅析SQL Server的嵌套存储过程中使用同名的临时表
- Sql Server
sqlserver 索引的一些总结
如果说要对数据库进行优化,我们主要可以通过以下五种方法,对数据库系统进行优化 ...
- Sql Server
在SQLServer 2005中编写存储过程
在SQL Server 2000中,实际上只有一种创建存储过程的方法:即T-SQL语句。之前的每个SQL Server版本都采用这个程序。...
- Sql Server
sql查询点滴记录
做.NET有一段时间了,如果说不会sql,那肯定是假的,但是真的掌握吗 ...
- Sql Server
SQLserver 实现分组统计查询(按月、小时分组)
首先创建数据表IP地址,访问时间和访问次数。如果每访问一次就插入一条记录,那么AccessCount可以不要,查询时使用count就可以了,这样当访问量很大的时...
- Sql Server
SQL Server 2000“设备激活错误”的解决方法
数据库恢复时出现诸如“设备激活错误,请使用with move选项来标志该文件的有效位置”报错的解决方法 ...
- Sql Server
SQLSERVER数据备份文件的分割备份方法
这篇文章主要介绍了SQLSERVER数据备份文件的分割备份方法 ,需要的朋友可以参考下 ...
- Sql Server
使用 TOP 子句限制UPDATE 语句更新的数据
这篇文章主要介绍了使用 TOP 子句限制UPDATE 语句更新的数据,需要的朋友可以参考下 ...
- Sql Server
sql server中查找特定类别的列的写法
要对特定类别的列进行一些操作,写了以下的一段代码,比较方便检查数据库内同一类别的所有列,示例用来查所有nvarchar的列 ...