【问题标题】:Why does my typed dataset not like temporary tables?为什么我的类型化数据集不喜欢临时表?
【发布时间】:2009-05-28 16:31:40
【问题描述】:

我正在尝试向我的 SQL Server 2005 Express 中的存储过程添加一个表适配器。但是,存储过程使用一个名为#temp 的临时表。创建表适配器时,Visual Studio 抱怨“未知对象'#temp'”并说存储过程返回 0 列。这是有问题的,因为我将该存储过程与水晶报表一起使用,并且需要这些列。

我该如何解决这个问题?

【问题讨论】:

    标签: tsql stored-procedures visual-studio-2008 strongly-typed-dataset sql-server-2005-express


    【解决方案1】:

    奇怪。根据this你添加

    IF 1=0 BEGIN
        SET FMTONLY OFF
    END
    

    在 SP 的 AS 部分之后到 SP 并且它可以工作。 Visual Studio 现在已经没有问题了。我不知道为什么会这样,或者为什么会这样,但确实如此。

    【讨论】:

    • 某人可能有一个糟糕的发型。它帮助了我。 +1
    • 我只能说......哇。这行得通。这对我来说是一件大事。我使用的临时表对于运行的每个报告实例都必须是唯一的。不能从另一个工作站覆盖表。我需要临时表来处理我的存储过程。谢谢。
    【解决方案2】:

    这可能是一个旧线程并且找到了答案,但是当有人进入您的存储过程并看到这段代码时,他真的不明白。还有另一种正确执行此操作的方法,即简单地将表声明为如下变量:

    DECLARE @temp TABLE  
    (
        SomeText1 nvarchar(255),
        SomeText2 nvarchar(255)
    )
    

    另外,不要忘记删除最后的 DROP TABLE。

    PS:如果你真的需要使用临时表,因为你需要创建它,那么你必须编写上一个答案中给出的代码。希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2020-01-21
      • 2015-11-20
      • 1970-01-01
      • 2020-10-04
      • 1970-01-01
      • 1970-01-01
      • 2015-08-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多