【问题标题】:Why can't I open this table in SQL Server Management Studio?为什么我无法在 SQL Server Management Studio 中打开此表?
【发布时间】:2010-09-11 07:29:37
【问题描述】:

我通过 C# 程序创建了几个表,命名为 [MyTableOneCustom0] 和 [MyTableTwoCustom0]。当我尝试通过 MS SQL Server Management Studio 中的“打开表”从这些表中返回所有值时,我收到以下错误:

错误来源: Microsoft.VisualStudio.DataTools

错误消息:异常已出现 由调用的目标抛出。

但是,我仍然可以通过 SELECT * 语句调出所有数据。

有人知道这是什么原因吗?

【问题讨论】:

    标签: c# sql sql-server


    【解决方案1】:

    根据位于Egg Head Cafe 的类似帖子,如果查询中明确包含的列过多,Management Studio 似乎会引发异常。 Select * 隐式返回它们,因此似乎没有问题。

    我在这个表中有超过 800 列,所以我确定这就是问题所在。

    【讨论】:

    • 如果你真的需要 800 列,你可以考虑使用稀疏列 (SQLServer 2008)
    【解决方案2】:

    我不敢问,但通常你不会想要 800 或数据库中的列,那么你为什么要这样做呢?考虑到数据库如何存储信息,您可能会在数据检索和存储方面为自己制造许多问题。一整行有多少字节的数据?您知道可以存储在一行中的数据字节数是有限制的。当一行超出这些限制时,您可能会遇到输入数据的问题。即使存在一对一的关系,最好还是拆分成单独的表。在 BOL 中阅读有关数据页和数据存储方式的信息,以了解我为何如此担心。

    【讨论】:

      猜你喜欢
      • 2014-01-30
      • 1970-01-01
      • 1970-01-01
      • 2018-04-01
      • 1970-01-01
      • 2012-12-02
      • 1970-01-01
      • 2014-01-18
      • 1970-01-01
      相关资源
      最近更新 更多