我使用 SQL Server 2014/2017(任一表达式版本),由于某些原因,我尝试将数据从 SQL Server 数据库移动到 MS Access,但我现在面临的是,在每个表中的每个字段上创建的所有索引SQL Server 未转移到 MS Access (2016)。
目前,解决方法是:我必须转到需要设置 flag:index 的表,例如:
有什么解决方案可以将 SQL Server 中的所有索引保留到 Access 中吗?
最佳答案
您至少可以从 SQL Server 获取 PK 和索引。
有两种方法可以做到这一点。
从 GUI 中?
只需链接到相关表(创建到 sql server 的链接表)。
然后在导航 Pane 中,只需右键单击链接的表并选择“转换为本地表”。
因此,上述内容将保留 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 数据库。
关于sql-server - 通过 ODBC 从 MS SQL Server 导入到 MS Access 丢失所有索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56957679/