关于sqlserver 2005 使用临时表的问题( Invalid object name #temptb)
更新时间:2012年07月17日 21:02:50 作者:
最近在利用 SSRS 2005 做报表的时候,调用带有临时表的数据源时,系统会报错,并无法进入向导的下一步,提示There is an error in the query. Invalid object name #temptb
最近在利用 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支持临时表的使用。
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支持临时表的使用。
相关文章
sql2005 本地计算机上的SQL SERVER服务启动后又停止了解决方法
这篇文章主要介绍了本地计算机上的SQL SERVER服务启动后又停止了解决方法,需要的朋友可以参考下2015-01-01
SQL2005Express中导入ACCESS数据库的两种方法
这篇文章主要介绍了SQL2005Express中导入ACCESS数据库的方法,需要的朋友可以参考下2014-09-09
sqlserver 2005 无法在服务器上访问指定的路径或文件
sqlserver 2005 无法在服务器上访问指定的路径或文件。请确保您具有必需的安全权限且该路径或文件存在2010-06-06
sqlserver巧用row_number和partition by分组取top数据
SQL Server 2005后之后,引入了row_number()函数,row_number()函数的分组排序功能使这种操作变得非常简单2011-12-12
SQL Server Management Studio Express管理器 没有导入导出数据的向导的解决方法
我的SQL2005 Microsoft SQL Server Management Studio Express管理器里,右键单击一个数据库,指向“任务”,再单击“导入数据”或“导出数据”中没有这个选项,要想实现导入/导出数据,要怎么办呢?2011-04-04
SQL Server2005打开数据表中的XML内容时报错的解决办法
从SQL Server2005开始提供了一种新的数据类型XML type,它允许用户将数据以XML文件的格式直接存储到数据表中2012-02-02
让sql2005运行在独立用户下出现 WMI 提供程序错误的解决方式
您还有 %1 的时间注销,如果您 在此时间到之后仍没有注销,您的会话 将会断开,任何打开的文件或设备 就可能丢失数据2012-11-11
SQL2005 四个排名函数(row_number、rank、dense_rank和ntile)的比较
排名函数是SQL Server2005新加的功能。在SQL Server2005中有如下四个排名函数row_number、rank、dense_rank和ntile,需要的朋友可以参考下。2009-10-10


最新评论