所有列显示#Deleted

Posted

技术标签:

【中文标题】所有列显示#Deleted【英文标题】:All columns show #Deleted 【发布时间】:2015-08-19 23:42:50 【问题描述】:

我阅读了这篇文章并尝试了其中的所有内容,但问题仍然存在。 https://support.microsoft.com/en-us/kb/128809

数据位于 SQL Server 2008 R2 中。我有两张桌子,每张桌子有 81 行。一个有 2 列,另一个有 5 个。两个表都有主键和唯一索引。包含 5 列的表链接到 Access 2010 很好。有 2 列的表显示 81 行,两列都用#Deleted 填充。

这两个表需要一个单一的连接,所以我尝试创建一个视图并链接到它。视图中的三列都显示#Deleted。视图中只有一列来自有问题的表。

我尝试在 SQL Server 中执行 INSERT INTO 查询以创建包含三列的表。然后我添加了一个主键和唯一索引。不过,当我链接到结果表时,我得到了三列 #Deleted。

两个表的数据类型都是nvarchar,int,问题表中还有一个bigint。

出于好奇,我添加了一个 int 类型的新列,并将所有 bigint 值移动到我创建的表的新 int 列中。然后我删除了 bigint 列,它起作用了!我可以链接到它。所以我现在的选择是创建一个存储过程,它定期创建表并将一列中的数据类型从 bigint 更改为 int。

我宁愿不。有谁知道为什么 Access 2010 似乎不喜欢 bigint?

格雷格

【问题讨论】:

【参考方案1】:

我一发布就想到了一个解决方案 - 我创建了一个视图并将 bigint 转换为 int。访问喜欢它。

【讨论】:

这是有道理的。 bigint 没有 Access 等效项。将 Access 链接到 SQL Server 时,仅使用 Access 支持的数据类型很重要。较新版本的 SQL Server 有一些新的数据类型,如 Date、Datetime2 等。这些是 Access 无法识别的。 奇怪的是,这对我们来说以前从未出现过。我们有三个 SQL Server 实例,其中包含数十个数据库并将表链接到数十个 Access 数据库。

以上是关于所有列显示#Deleted的主要内容,如果未能解决你的问题,请参考以下文章

如何在数据框中显示所有列内容[重复]

显示包含特定列的所有表 [重复]

GridView 未显示 DataTable 中的所有列

Flutter:如何显示同一张表中的所有列

Javafx tableview 未在所有列中显示数据

[Video]如何在 Windows 7 工作列上永远显示所有图示和通知