我有一个存储过程,我在数据集中使用它来生成ReportViewer中的报表.
此SP使用临时表来存储中间值,以便可以在SP末尾的计算中使用这些值.
临时表在SP结尾处都被彻底删除.
我可以在没有问题的情况下在SSMS中执行SP,并返回我期望的数据.
但是,当使用TableAdapter配置向导在VS2012中更新我的xsd时,它会给出错误无效对象名称’#Held'(其中#Held是其中一个临时表的名称).
这是怎么回事?
解决方法
#temp表和表适配器存在一些已知问题.
有些人通过明确选择列名来解决它,例如:
从#temptable中选择column1,column2,…而不是SELECT *(如果你这样做的话)
您也可以尝试使用表变量而不是临时表.