关于sqlserver 2005 使用临时表的问题( Invalid object name #temptb)_Mssql数据库教程
推荐:SQL Server 2005安装实例环境图解对于大多数的数据库管理员和开发人员来说,安装并配置一个新的SQL Server是激动人心的任务,因为它可以带来全新的挑战和机会
最近在利用 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支持临时表的使用。
分享:sql2005 附加数据库出错(错误号:5123)解决方法无法为此请求检索数据。(Microsoft.SqlServer.SmoEnum)其他信息执行Transact-Sql语句或批处理时发生了异常,Microsoft.SqlServer.ConnectionInfo)尝试打开或创建物理文件d:\Data\***.mdf时,Create file遇到操作系统错误5(拒绝访问。
相关Mssql数据库教程:
- sql 语句练习与答案
- 深入C++ string.find()函数的用法总结
- SQL Server中删除重复数据的几个方法
- sql删除重复数据的详细方法
- SQL SERVER 2000安装教程图文详解
- 使用sql server management studio 2008 无法查看数据库,提示 无法为该请求检索数据 错误916解决方法
- SQLServer日志清空语句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸载方法(其他版本类似)
- sql server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表
- SQL Server 2008 清空删除日志文件(瞬间日志变几M)
- Win7系统安装MySQL5.5.21图解教程
- 将DataTable作为存储过程参数的用法实例详解
- 相关链接:
复制本页链接| 搜索关于sqlserver 2005 使用临时表的问题( Invalid object name #temptb)
- 教程说明:
Mssql数据库教程-关于sqlserver 2005 使用临时表的问题( Invalid object name #temptb)。