为什么不能在SQL Server Management Studio中打开此表?

时间:2020-03-06 14:26:37  来源:igfitidea点击:

我通过Cnamed程序性地创建了几个表,例如[MyTableOneCustom0]和[MyTableTwoCustom0]。当我尝试通过MS SQL Server Management Studio中的"打开表"从这些表中返回所有值时,出现以下错误:

Error Source:
  Microsoft.VisualStudio.DataTools
  
  Error Message: Exception has been
  thrown by the target of an invocation.

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

有谁知道是什么原因造成的?

解决方案

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

该表中有800多个列,因此我确定这是问题所在。

我犹豫要问,但是通常我们不希望数据库中有800列或者列,那么为什么要这样做呢?考虑到数据库如何存储信息,我们可能会为数据检索和存储这样的设计而自己创建许多问题。整行有多少字节的数据?我们知道可以存储在一行中的数据字节数是有限制的。当行超出这些限制时,我们可能会遇到输入数据的问题。即使存在一对一的关系,最好也拆分成多个单独的表。在BOL中阅读有关数据页以及如何存储数据的信息,以了解为什么这与我有关。