首页 > 解决方案 > 通过 ODBC 从 MS SQL Server 导入到 MS Access 丢失了所有索引

问题描述

我使用 SQL Server 2014 / 2017(任一表达式版本),由于某些原因,我试图将数据从 SQL Server 数据库移动到 MS Access,但我现在面临的问题是,在 SQL Server 中每个表的每个字段上创建的所有索引都是未转移到 MS Access (2016)。

目前,解决方法是:我必须转到需要设置标志的表:索引例如:

在此处输入图像描述

是否有任何解决方案可以将所有索引从 SQL Server 保留到 Access?

标签: sql-serverms-accessodbc

解决方案


您至少可以从 SQL 服务器获取 PK 和索引。

有两种方法可以做到这一点。

从图形用户界面?

只需链接到有问题的表(创建到 sql server 的链接表)。

然后在导航窗格中,只需右键单击链接表并选择“转换为本地表”。

因此,上述内容将保留 PK(和索引)。对于任何其他具有索引的列,您会发现 Access 还为您保留(创建)本地索引。

如果你使用代码?

然后,首先创建链接表。

然后执行隐蔽到本地表。

例如这段代码:

Dim strCon        As String
strCon = CurrentDb.TableDefs("dbo_TimeTest1").Connect

DoCmd.TransferDatabase acLink, "ODBC Database", strCon, acTable, _
           "dbo.tblbooking", "tblBookingLocal2", False, True
DoCmd.SelectObject acTable, "tblBookingLocal2", True
DoCmd.RunCommand acCmdConvertLinkedTableToLocal

在上面,我只是从另一个链接表中抓取了一个“已知”和现有的连接字符串到同一个 SQL 数据库。


推荐阅读