【发布时间】:2018-02-06 21:08:15
【问题描述】:
我有一个看似直截了当的项目,却意外地面临许多障碍。
我需要将现有 Access 2016 应用程序的后端数据从 Access 移动到 SQL Server 2016。
我面临的挑战是:
将 Access 迁移到 SQL Server 的最简单且推荐的方法是使用 Microsoft SQL Server Assistant (SSMA) for Access。问题是我的 Access 是 32 位即点即用版本。因为目标是 SQL Server 2016,所以我应该使用 SSMA for Access v.7.6.0,它仅在 64 位中可用。要使用它,我需要安装无法安装的 64 位 Access Runtime,因为根据错误消息“Windows Installer 和 Office 程序的即点即用版本无法相处”。 Access 6.0 的 SSMA 早期版本是 32 位的,可以正常连接到 Access,但无法连接到 SQL Server 2016,因为 2014 是它支持的最新版本。忽略警告并强制连接到 SQL Server 2016 会导致收集数据时出错……因此,我无法使用 SSMA。
我能够使用 SSIS 将数据从 Access 迁移到 SQL Server。现在,我的挑战是将现有的 Access 表重新指向它们的 SQL Server 副本。我正在尝试链接,但似乎现有的 Access 表只能链接到文件系统数据源。如果我尝试从 SQL Server 端建立链接,我只能创建新的链接表,这对我没有多大好处,因为我试图避免对应用程序进行大量更改。难道是我在这里遗漏了一些简单的东西?..
某些 Access 表具有附件数据类型的列。 SSIS 无法正确处理附件数据类型。据我所知,SSMA 也没有。因此,当我将 Access 表链接到 SQL Server 时,我可能需要编写一些代码来将附件从备份 Access 数据库移动到 SQL Server。还有其他更简单的解决方案吗?
非常感谢任何建议。
【问题讨论】:
标签: migration sql-server-2016 ms-access-2016