所有列显示#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的主要内容,如果未能解决你的问题,请参考以下文章