备注 截至 2022 年 5 月发布频道的 Microsoft 365 月度发布频道中,此功能正式发布 (GA) 。 如果你使用的是Microsoft半年企业频道,则将于 2022 年 12 月推出。 有关如何参与的详细信息,请参阅 aka.ms/AccessAndPowerPlatform。 |
Microsoft Access 和 Microsoft Dataverse 与 Power Platform 相结合,为云中的公民开发人员和移动方案开辟了一个机遇世界。 此组合可解锁混合解决方案方案,通过以下方式将 Access 的价值和易用性与基于云的存储一起保持一起。
-
移动和Microsoft Teams 方案。
-
使用基于云的数据存储和在 Access、Power Apps 移动版和 Microsoft Teams 中创建的前端应用实时共享和编辑 Access 数据。
-
使用 AAD 通过云中的 Dataverse 存储提供新的安全性和合规性功能,以及基于角色的安全性,同时通过 Access 管理它。
可以与 Dataverse 共享 Access 数据,Dataverse 是一个云数据库,可通过以下方式为 Web、手机或平板电脑构建 Power Platform 应用、自动化工作流、虚拟代理等:
-
创建 Power Platform 环境并添加新的 Dataverse 数据库。
-
将 Access 数据迁移到 Dataverse 或 Dataverse for Teams。
-
继续使用 Access 桌面解决方案来同步基于链接表的数据编辑,并使用现有的前端窗体、报表、查询和宏。
-
创建可跨多个设备工作的低代码 Power App、自动化工作流、AI 驱动的虚拟助手或 Power BI 仪表板,同时查看和编辑相同的基础 Dataverse 数据。
Dataverse 是 Power Platform 的主干,可以存储跨多个应用程序共享的常见数据。 此功能为 Microsoft 365、Azure、Dynamics 365 和独立应用程序中的共享数据交互和管理提供了额外的跨平台机会。
备注 术语“column”和“field”在 Access 和 Dataverse 中可互换使用。 术语“表”和“实体”在 Dataverse 中可互换使用。
开始之前
想要进行得更顺利吗? 以下部分提供了详细信息。
重要提示 备份 Access 数据库。 强烈建议执行此操作。 有关详细信息,请参阅 使用备份和还原过程保护数据。
下面是一个快速清单,以确保你已准备就绪:
-
获取有关将 Access Dataverse 连接器与 Power Platform 配合使用与基于云的存储集成的视频概述。 有关详细信息,请参阅 aka.ms/AccessAndPowerPlatform。
-
如果还没有,请获取包含 Dataverse 的 Power Apps 许可证或使用现有环境。 转到 Power Apps 主页,然后选择“ 免费启动”。
-
如果 Access 数据具有多值字段,请为迁移做好准备。 有关详细信息,请参阅创建用于迁移到 Dataverse 的选项字段。
-
虽然 Dataverse 具有浮点数据类型,但它的范围限制低于 Access 浮点数据类型。 如果 Access 数据具有浮点字段,请首先将其转换为 Number 数据类型,将“字段大小”属性设置为 Decimal,然后将数据迁移到 Dataverse,该数据将存储为 Decimal Number 数据类型。
请确保获取必要的许可证:
-
访问 包含 Access 的 Microsoft 365 计划。 有关详细信息,请参阅 Microsoft 365 与 Office 应用。
-
Dataverse Power Apps 计划。 有关详细信息,请参阅 Power Apps 计划和定价。 有关所有 Power Apps 许可选项的详细说明,可以下载 许可指南。
-
Dataverse for Teams 包含 Teams 的 Microsoft 365 计划。 有关详细信息,请参阅 Microsoft 365 与 Office 应用。
如果你的应用包括 Power Automate、Power BI 和 Power Virtual Agent,则可能需要其他许可证。 有关详细信息,请参阅 Power Apps 计划和定价以及即将推出 Power Apps 的汇报。
有两种方法可以使用 Dataverse:完整版本和 Dataverse for Teams。
Dataverse
Dataverse 的完整版本为跨设备低代码应用提供所有可用的数据类型,并支持许多用户。 获得 Dataverse 许可证后,可以访问当前 Dataverse 环境,或创建新环境来迁移 Access 数据。 有关详细信息,请参阅什么是 Microsoft Dataverse?、Dataverse 入门和添加Microsoft Dataverse 数据库。
重要提示 确保具有将数据导入 Dataverse 所需的权限。 需要“环境创建者”的安全角色,应用用户需要“基本用户”的安全角色。 有关详细信息,请参阅在客户参与应用中授予用户访问权限。
如果使用新环境:
-
从此浏览器页面登录到 Power Apps,https://powerapps.microsoft.com/。
-
管理员中心 > 选择“设置 ”。
-
在“管理员中心”页上,选择“新建”。 此时会打开“ 新建环境 ”窗格。
-
在“ 名称 ”框中,输入环境名称。
-
在“ 类型 ”框中,从下拉列表中选择“ 试用 ”。 如果你有自己的生产环境,则可以选择“生产”。
-
在“区域”框中,保留默认美国选择。
-
在“ 用途 ”框中,可以选择输入说明。
-
在 “为此环境创建数据库”中,选择“ 是”。
-
在 Access 中启动迁移过程时,全局发现服务应发现正确的实例 URL。 有关详细信息,请参阅 迁移:选择数据源和目标。
Dataverse for Teams
Microsoft Teams 可促进工作组和同事之间的消息传递、聊天、会议、网络研讨会和及时通信。 还可以通过添加各种应用(包括基于 Dataverse for Teams 的 Power Apps)来提高工作效率并自定义 Teams。 这有效地为 Teams 和一键式解决方案部署提供了内置的低代码数据平台。
使用 Teams Microsoft 365 计划后,Teams 中的应用、工作流和虚拟代理不需要额外的许可证,但 Power BI 应用需要单独的许可证。 此外,对 Dataverse 环境的访问仅限于 Teams 所有者、成员和来宾,并且基础 Dataverse 存在一些功能限制。
有关详细信息,请参阅 Microsoft Dataverse for Teams 概述、 Power Apps 和 Microsoft Teams 集成和 Microsoft Dataverse for Teams 入门。
若要预配 Dataverse for Teams 环境,首先需要将应用安装到 Teams 中。
-
打开 Teams,然后选择窗口左下角的“ 应用 ”。
-
在 “应用市场 ”窗口中,使用搜索框查找“Power Apps”,然后选择“ Power Apps”。
-
若要将 Power Apps 应用程序添加到 Teams,请选择“ 添加”。 此时会显示“Power Apps”窗口。
-
选择“ 创建应用”。
-
为应用选择团队。
-
若要为 Teams 创建 Dataverse 环境,请选择“ 立即启动”。
-
在 Power Apps 编辑器中 ,输入应用名称,然后选择“ 保存”。
结果
你的环境已准备就绪,可供使用。 在 Access 中启动迁移过程时,全局发现服务应发现正确的实例 URL。 有关详细信息,请参阅 迁移:选择数据源和目标。
手动发现正确的实例 URL
如果由于某种原因,全局发现服务无法发现正确的实例 URL,可以在 Power Apps 中找到它,然后在迁移过程中手动输入它。
-
Dataverse 选择页面右上角的 “设置” ,选择“ 会话详细信息”,将正确的 Dataverse URL 列为“实例 URL”。
-
Dataverse for Teams 为 Dataverse 数据库创建应用后,选择“ 关于”,正确的 Dataverse URL 将列为“实例 URL”。
了解存储容量的差异,因为每个数据库都有不同的最大大小限制:
-
每个数据库的最大访问权限限制为 2 GB。 有关详细信息,请参阅 Access 规范。
-
对于关系数据库,Dataverse 的最大限制为 10 GB。 存储文件、Blob 和非关系日志数据的总限制为 20 GB。 有关详细信息,请参阅 Microsoft Power Platform 中存储管理的新增功能。
-
对于每个团队频道,Dataverse for Teams 的最大限制为 2 GB 和 1 MB。 最大限制为 2 GB 还包括其他文件、Blob 和非关系日志数据。 有关详细信息,请参阅 Microsoft Dataverse for Teams 环境。
迁移过程的一个重要部分是通过多种方式验证数据:
-
为了防止数据丢失,Access 确保 Access 表不会超过 Dataverse 大小限制,并且 Access 表中的列数不会超过表的 Dataverse 最大字段数。
-
如果 Access 表包含不受支持的 Dataverse 数据类型,或者该列的值超出了 Dataverse 数据类型范围,Access 将提供其他信息来帮助你修复错误。
仅导出支持的数据类型。 原始 Access 表(包括不支持的数据类型)保留在 Access 中。 如果确信所有数据已完全正确迁移,则可以保留原始 Access 表,或者将其删除并将其复制到备份数据库。
有关详细信息,请参阅 比较 Access 和 Dataverse 数据类型。
将 Access 数据迁移到 Dataverse
将 Access 表和列迁移到 Dataverse 的过程包括:创建和指定 Dataverse 环境、将数据从 Access 导出到 Dataverse、选择表和相关表、在 Dataverse 中对迁移表的访问中创建链接表、管理主键、名称和关系、验证数据导出以及预览 Access 和 Dataverse 中的结果。
-
启动“访问”,依次选择“ 帐户”、“ 切换帐户”。 “帐户”对话框随即打开。
-
请确保使用在 Power Apps 中使用的相同凭据登录到 Access。 根据你的环境,可能需要输入其他安全信息,例如辅助身份验证或 PIN。
注意 如果不对 Access 和 Power Apps 使用相同的帐户,则迁移会因权限问题而失败。 -
打开要迁移的 Access 数据库。
提示 请确保已关闭所有打开的 Access 对象,因为锁可以阻止表迁移。 -
右键单击导航窗格中的表,然后选择“ 导出 > Dataverse”。
-
在“ 导出对象”对话框中,选择要导出 的所有 表,并清除不想导出的所有 表。
-
选择“确定”。
-
在“将数据导出到 Dataverse 环境 ”对话框中,从全局发现服务提供的列表中选择实例 URL。开始:设置 Dataverse 环境。
注意 在 Power Apps 中,实例 URL 表示 Power Apps 环境的特定会话。 不应将其与网页 URL 混淆。 字符串的组件“crm.dynamics”是以前版本的 Power Apps 的转载。 有关详细信息,请参阅
下一步是就迁移方式做出重要选择。 请注意,默认值是最常见的默认值。
-
若要导出所选表的相关表,请选择“ 导出所有相关表”。
注意 此时,选择导出相关表时,仅包含直接子表。 如果希望包含所有关系,请使用“ 导出对象”对话框选择要迁移的所有表。 -
若要查看这些表,请选择“ 请参阅相关表”。 此时会显示“ 相关表 ”对话框。
表关系以两列形式显示在分层视图中:左侧列显示所选表,右侧列显示相关表。注意: 在 Access 中,可以创建一对多关系,所引用表中的外键字段可以是任何字段。 但在 Dataverse 中,引用表中的外键字段必须是被引用表的主键。 如果 Access 外键不是所引用表中的主键,则对 Dataverse 的导出操作将失败。 若要成功导出数据,请确保 Access 外键是引用表中的主键。
-
若要在 Access 中为导出操作创建的每个 Dataverse 表创建表链接,请在 导出后选择“链接到 Dataverse 表”。
-
若要预览结果,请在完成后选择“ 打开 Dataverse 表 URL”。
如果要导出到 Teams 中的 Dataverse,则此选项不可用。 -
若要将字段显式设置为主名称列,请选择“ 选择主要名称字段”,然后从下拉列表中选择一个字段。
如果未指定要使用的列,左侧的第一个文本列将用作“主要名称”列。 如果没有文本列,则会创建一个具有 null 值的主要名称占位符列。 -
选择“下一步”。
当看到显示“正在运行验证程序...”的对话框时,验证过程会自动开始。位于顶部。 如果验证过程成功,则显示另一条消息“验证已完成”,然后选择“ 确定”。
监视以下消息:
邮件 |
说明 |
---|---|
“从 OData 源检索表列表” |
迁移过程已开始。 |
“导出选择对象” |
所选表将迁移到 Dataverse。 |
“已成功导出未遇到错误的所有表。” |
如果表中出现单个错误,则不导出表,否则表导出操作完成。 若要继续,请选择“ 关闭”。 |
“导入所选表和任何相关表” |
根据导出表的方式,创建链接表、重命名原始表,并在 Access 中创建和链接多个 Dataverse 系统表。 |
在验证过程中,如果有不受支持的字段,Access 将识别不受支持的数据类型或超出限制的行,并创建 Dataverse 列验证错误表,该表将导出的表名称和不受支持的字段存储在每行中。 可以选择迁移所有受支持的数据类型,并选择不迁移不支持的数据类型。 如果选择不迁移,数据将保留在 Access 中。
不受支持的数据类型和超出限制的情况
如果选择链接表,请确认结果是否与预期结果一致。 注意此消息“正在从 Dataverse 环境中检索表的列表”。 原始表仍保留,但其名称已更改。 链接表现在应具有原始表名称,以便所有前端对象继续像以前一样工作。 保留 Access 主键 (自动编号) 。 将添加与 Dataverse 主键 (GUID) 对应的新列,列名是表名。
Access 还会添加 Dataverse 中名为 Teams、用户和业务部门的其他链接表。 这些系统表包含以下有用信息:
-
用户 Email地址、全名、电话、许可证类型、业务部门等。
-
Teams 团队、团队名称、成员身份等。
-
业务部门 成本中心、网站、信用额度等。
-
货币所有交易货币的货币详细信息,包括汇率、名称、符号、代码等值。 仅当 Access 具有已迁移到 Dataverse 的货币数据类型时,才会显示 此表。
你可能想要使用此附加信息来增强 Access 解决方案。 可以在窗体中维护这些表,也可以将它们添加到报表中。 有关详细信息,请参阅 Dataverse 系统表和列。
最好通过检查 Dataverse 环境中的每个表和字段来查看和确认迁移过程。 Dataverse 表和字段名称应与 Access 表和列名称匹配。 Access 会自动将 Dataverse 环境打开到第一个迁移表。
访问表在 Dataverse 中显示为具有相应显示名称和数据类型的表:
-
“显示名称”列应列出表中的每个 Access 字段名称。
-
“名称”字段的格式具有前缀、下划线和表名,例如,cr444_<表名>。 这在 Dataverse 中称为逻辑名称。
-
所有迁移的 Access 字段在“类型”列下显示为“自定义”,旁边是自动生成的 GUID 和现有 Dataverse 字段数据类型。
备注 如果已有一个与导出的 Access 表名称同名的 Dataverse 表,则会向新的 Dataverse 表追加一个数字。
默认情况下,Access 将第一个文本列 (从左到右) 设置为 Dataverse 主名称。 如果表没有文本字段,Access 会将空文本列添加为表中的最后一个字段,并将该字段设置为 Dataverse 主名称。 还可以将特定字段设置为主名称。 此列在 Access 和 Dataverse 中可见。
有关详细信息,请参阅 在 Dataverse 中使用任何数据。
将 Access 表迁移到 Dataverse 后,可以随时在 Dataverse 和 Access 中查看表和列。 请注意,在 Dataverse 中,字段按字母顺序显示,而不是 Access 中的原始顺序。
Dataverse/Power Apps 有关在 Dataverse 中查看和使用表的信息,请参阅在 Power Apps 中编辑表。 注意 右键单击 Access 中的已迁移链接表,将在浏览器中的 Power Apps Maker 门户中打开该表。 在 Power Apps 门户的默认视图中,系统字段不显示,提供一个更简单的视图来显示 Access 迁移列。
Dataverse for Teams 可通过多种方式查看表和列:
-
创建快速 Power App 以查看或更新数据。
-
在生成菜单中,在“为...”创建的项中选择“ 全查看 ”面板,然后单击要查看的表。
-
在 Teams 中使用表Designer。 有关详细信息,请参阅 在 Teams 中创建表。
提示 你可能会发现,在浏览器中将表视图的 URL 地址加入书签会很有用。
提示 还可以通过选择“数据”下拉命令,然后选择“在 Excel 中编辑”,在 Excel 中查看数据。 有关详细信息,请参阅 在 Excel 中编辑表数据。
有关详细信息,请参阅 Dataverse 系统表和列。
以下部分提供了其他概述和概念信息。
了解主键和主名称
主键用于标识数据库中的数据行。 Access 和 Dataverse 具有不同的键结构。 在迁移期间,Dataverse 和 Access 使用它们自己的唯一密钥自动管理这两个产品之间的协调,无需用户交互。
在规划和迁移过程中,需要注意两个主键和一个额外的“主要”字段:
访问自动编号 Access 通常使用自动编号数据类型(自动递增唯一数字)作为表的主键。 此字段在 Dataverse 中创建为已应用自动编号格式的整数字段。 在迁移期间,Dataverse 中的起始编号将设置为基于 Access 行的下一个序号。 Access 继续使用“自动编号”列来标识数据行,即使 Dataverse 使用不同的键。
重要 Dataverse 将“自动编号”字段创建为可选字段,但这是设计使然。 保存记录时,Dataverse 会生成其序列号。 如果此值设置为必需,则 Dataverse 客户端将需要在保存之前输入一个值,从而阻止生成自动编号。 如果字段留空,则始终生成自动编号。Dataverse GUID Dataverse 使用全局唯一标识符 (GUID) 数据类型作为其主键,该键自动创建为唯一标识符,并且在每个表中是必需的。 Dataverse 不需要导入的数据具有主键,它会自动为你创建 GUID。
Dataverse 主名称 Dataverse 还包括另一个名为“主名称”的列。 这是一个友好名称,用于标识行,以替代使用 GUID。 此字段必须存在,并且根据 Power Platform 客户端中的设置,可能需要填充此列。 可以手动更改此要求。 默认情况下,主名称不是唯一的。 例如,客户名称可以是对应于唯一客户 ID 的主要名称。 可能有两个客户名称为“Jones”,但每个客户都有唯一的客户 ID。
有关主键的决策指南
默认情况下,会自动创建 Access 主键、Dataverse 主键和“主名称”列。 但你可以选择如何处理三个主键。 下面是一些指导,可帮助你做出以下决定:
主键 如果 Access 主键 (自动编号) 也是业务密钥(如部件号),则可能要保留它,因为它用于标识现实世界中的对象。 但是,如果 Access 主键 (AutoNumber) 专门用于创建关系,则可以将其替换为 Dataverse 主键 (GUID) 。
便笺
-
有时,Access 表包含不用作主键的自动编号列。 在这种情况下,Dataverse 将其转换为“整数”字段,并删除自动编号的功能。
-
Dataverse 还具有等效的 Access 自动编号字段,称为“自动编号”字段,该字段用于生成顺序数字,并存储为字符串值。 此字段还可以包含前缀 (,例如字符串或日期) 数字,从而可以灵活地使用该字段。 此列基于SQL Server自动排序数据类型。 有关详细信息,请参阅 Microsoft Dataverse 中的自动编号列。
主名称 Dataverse 需要存在“主名称”列。 主名称必须包含字符串值。 在迁移期间,用户可以在 Access 中指定要用作主名称的文本列。 如果用户未指定要使用的列,左侧的第一个文本列将用作“主要名称”列。 如果没有文本列,则会添加一个名为“主名称占位符”的新列,该列将满足 Dataverse 要求。 此列设置为 “可选” ,可以保持未填充。
有关详细信息,请参阅 创建主名称列。
主键和主名称的比较
说明 |
访问主键 |
Dataverse 主键 |
Dataverse 主名称 |
---|---|---|---|
数据类型 |
自动编号 (或任何可) 编制索引的列 |
GUID |
String |
目录 |
一个简单的顺序数字 |
环境特有的随机数字和字母 |
用户可读的字符串值 |
示例 |
234 |
123e4567-e89b-12d3-a456-426655440000 |
名称,例如“Jones”。 整数(如 234)或 SalesOrder9071 等组合 |
要求 |
经常使用但不需要 |
每个表必须有一个 |
每个表必须有一个 |
修改 |
无法修改自动编号字段,可以修改其他字段类型 |
否 |
是 |
唯一标识符 |
始终 |
始终 |
仅作为备用键 |
复合键 |
支持且通常与自动编号结合使用 |
不支持 |
不支持 |
能见度 |
通常,第一个表列 |
通常隐藏,但可以显示。 |
默认为可见 |
编制索引 |
可以编制索引。 有关详细信息,请参阅 创建和使用索引以提高性能。 |
自动编制索引 |
自动编制索引 |
批注 |
定义并输入数据后,无法将任何其他字段更改为自动编号数据类型。 |
不能由用户或数据导入操作期间创建。 |
还用于数据卡、模型驱动窗体中的自动生成字段,以及创建表单时用于查找。 |
便笺
-
访问索引不会自动转换为 Dataverse 索引。
-
Dataverse 使用 Azure SQL Server 根据数据使用模式自动创建索引。 始终创建主键和备用键的索引,并且会根据数据使用方式添加或删除其他索引。
了解 Access 和 Dataverse 关系
请务必了解如何管理表关系以及主键。 对于选择要迁移的表,可以选择使用所选表自动移动所有相关表,或者在迁移过程中忽略它们,而仅将相关表保留在 Access 中。 无论采用哪种方式,你都可以选择链接迁移的表,以维护 Access 中的当前关系。
在数据导出操作期间,可以将具有一对多关系的 Access 表重新创建为 Dataverse 中的一对多关系。 与 Access 一样,Dataverse 也具有引用完整性,例如相关字段的级联更新和相关记录的级联删除。 如果 Access 数据库具有关系图,则会保留该关系图。 但是,原始本地表将替换为新的链接表。
Access 和 Dataverse 都支持在一对多关系中的两个表之间进行查找。 在迁移过程中,将在 Dataverse 中重新创建 Access 查找,如以下示例所示:
-
两个 Access 表“客户”和“订单”的主键 CustomerID 和 OrderID 基于自动编号数据类型。 Access 中的 Orders 表具有一个外键,用于保存 Customers 表中 Access 主键中的值。
-
在导出操作期间,两个 Access 主键都保留并作为整数自动编号列进行维护,但这些列不用作 Dataverse 表中的主键列。 每个表都添加了一个新的 GUID 列,该列将成为 Dataverse 表中的主键。
-
为 Orders 表中的 CustomerID 外键创建查找,以在 Customers 表中查找匹配的 CustomerID 主键。 将表迁移到 Dataverse 后,如果修改新添加到 Orders 表的外键查找列,它还将更新原始外键列。 Access 应用程序可以继续使用 Access 外键,而不是 Dataverse 外键。 如果在 Access 的链接表中修改了 Access 外键,它还将更新 Dataverse 外键。 但是,Access 外键在 Dataverse 中将是只读的。
-
在此一对多关系示例中,未使用 Orders 主键,但当然可用于其他关系。
注意: 在 Access 中,可以创建一对多关系,所引用表中的外键字段可以是任何字段。 但在 Dataverse 中,引用表中的外键字段必须是被引用表的主键。 如果 Access 外键不是所引用表中的主键,则对 Dataverse 的导出操作将失败。 若要成功导出数据,请确保 Access 外键是引用表中的主键。
有关详细信息,请参阅视频:使用查阅向导创建关系和使用 查阅列创建表之间的关系。
有关密钥和关系的决策指南
为了帮助你确定最适合你的选择,以下是迁移时的常见选项摘要:
迁移数据但忽略关系 你决定删除 Access 主键 (自动编号) 列,因为没有其他 Access 表具有依赖它的引用或关系,如果将其与 Dataverse 主键 (GUID) 一起放在 Dataverse 表中,会让人感到困惑。
使用链接表迁移数据和关系 默认方案是保留原始 Access 主键 (自动编号) ,但不用作 Dataverse 中的主键。 现在,你依赖于 Dataverse 主键 (GUID) ,并在 Dataverse 表中将其用作唯一标识符。 Access 创建链接表以保留 Access 关系。 请注意,无法删除 guid) (Dataverse 主键。
在关系中,可以在 Access 或 Dataverse 环境) 中编辑 (外键值。 还可以编辑引用 Access 链接表中 Access 主键的外键,它将自动更新引用外表中 Dataverse 主键的 Dataverse 外键。
在 Dataverse 中迁移没有链接表的数据并重新创建关系 由于 Access 中不再使用表,因此可以在 Dataverse 中使用 Dataverse 主键 (GUID) 、添加 Dataverse 查找,并在迁移过程中选择每个表中的文本字段作为主名称,从而在 Dataverse 中重新创建关系。
将 Access 数据迁移到 Dataverse 后,可以在 Power Platform 上创建在 Web、平板电脑、手机甚至桌面上运行的应用。 Power 平台非常广泛。 以下内容摘要可帮助你大致了解基本选择,并确定最适合你的应用类型。