Access 数据迁移到 Dataverse 支持的数据类型和大小
当您从 Microsoft Access 迁移到 Microsoft Dataverse 或 Microsoft Dataverse for Teams 时,您应该注意数据类型的一些差异。 这些差异包括支持的类型、数据类型名称和列容量。
迁移时,将执行验证以确保:
- 表仅包含支持的数据类型。
- 正在迁移的行中的列值不超过 Dataverse 的大小限制。
完成此验证是为了防止数据丢失。 如果表中的列超过 Dataverse 中的最大列值,或者表包含 Dataverse 不支持的数据类型,用户将收到 Access 迁移工具验证程序的警报,并会提供其他信息。
用户可以选择完全取消迁移,或继续迁移所有受支持的内容,将不受支持的内容保留在 Access 表中。
Dataverse 支持的 Access 数据类型
在下表中,支持的数据类型映射可以帮助您计划数据迁移。
Access 数据类型 | Dataverse 数据类型 | 能否迁移? |
---|---|---|
短文本 | 文本 | 是 |
长文本 | 多行文本 | 是 |
自动编号 | 自动编号 | 是 |
日期/时间 | 日期和时间 | 是 |
货币 | 货币 | 是 |
数字:小数 | 十进制数 | 是 |
流通股 | Number:Single、Number:Double | 是1 |
是/否 | 是/否 | 是 |
Int | 整数 | 是 |
查找向导 | 查找 | 是 |
多值查找 | 单选 | 是2 |
超链接 | URL | 是 |
附件 | 文件 | 是3 |
1Dataverse 包括浮点数据类型。 但是,其限制低于 Access,最小值/最大值 +/- 100,000,000,000 或 +/- 99,999,999,999.99999。 最多支持五位小数。 在迁移过程中,用户将被告知此限制,如果他们需要超过五位小数,可以选择退出。
2仅限一列多值查找。 由于 Dataverse 和 Access 识别这些查找的方式不同,迁移前需要在 Access 中执行手动过程。 详细信息:将多值查找 Access 字段导出到 Dataverse 选择列
3 此时,可以对每列的单个附件迁移附件。
迁移到 Dataverse 不支持的 Access 数据类型
- OLE 对象
- 计算4
- RTF
4迁移时,计算字段会将最后计算的值迁移到列中。 用户需要在 Dataverse 中配置新的计算列。 详细信息:定义计算列以自动化计算
Access 和 Dataverse 的数据大小比较
您会注意到一些 Dataverse 列的大小容量与 Access 不同。 如上所述,如果列包含的数据太大而无法迁移,迁移工具会提醒用户内容无法迁移。 这为了防止数据丢失。 此决定不是基于列的最大可能大小,而是基于每行中实际数据的大小。
Access/Dataverse 数据类型 | Access 限制 | Dataverse 限制 |
---|---|---|
短文本/文本 | 255 个字符 | 4,000 个字符 |
长文本/多行文本 | 1 GB | 1,048,576 个字符 |
自动编号 | 2,147,483,647 | 4,000 个字符 |
日期和时间 | 标准日期和时间 | 标准数据和时间 |
货币5 | 最小值/最大值 -922,337,203,685,477/+922,337,203,685,477 | 最小值/最大值 -922,337,203,685,477/+922,337,203,685,477 |
十进制数 | 最小值/最大值 -10^28-1/+10^28-1 最多 28 位小数 | 最小值/最大值 -100,000,000,000/+100,000,000,000 最多 10 位小数 |
浮点 (Number:Single) | 负值为 -3.402823E38 到 -1.401298E-45,正值为 1.401298E-45 到 3.402823E38。 | 最小值/最大值 -100,000,000,000/+100,000,000,000 最多五位小数 |
浮点 (Number:Double) | 负值为 -1.79769313486231E308 到 -4.94065645841247E-324,正值为 4.94065645841247E-324 到 1.79769313486231E308。 | 最小值/最大值 -100,000,000,000/+100,000,000,000 最多五位小数 |
是/否 | 布尔型 | 布尔型 |
整数 | 最小值/最大值 -2^31/+2^31 | 最小值/最大值 -2,147,483,647/+2,147,483,647 |
查找向导/查找 | 多列返回 | 单列返回 |
5迁移工具假定来自 Access 的货币是 Dataverse 基础货币。
Access 中的计算字段当前将为 Dataverse 中的内容类型创建一列,用于存储计算值。 可以是文本、整数、小数等。 Dataverse 可用于创建计算字段以启用计算。
将多值查找 Access 字段导出到 Dataverse 选择列
Access 和 Dataverse 都让用户能够提供一个包含多个值的列表,用户可以在一行中从这些值中选择。 实现这些功能的方式是不同的。
Access 使用多值查找,该查找允许用户输入任意数量的值,然后这些值将显示为下拉列表以供选择。 Access 能够为此功能设置多于一列的值。
Dataverse 使用选择列,这是一个枚举值列表,每个值有一个与之关联的字符串标签。 用户使用存储在后台的标签值作为存储标签的表关系的枚举选择来定位并选择下拉列表中的值。
由于这些差异,将多值查找列从 Access 迁移到 Dataverse 会带来一些挑战。 迁移必须遵循以下过程:
- Access 只能从单列多值查找开始。
- Access 用户必须向多值查找添加一个新列,以充当 Dataverse 预期的枚举值。
- 导出时,Dataverse 会将其存储为两列,这让 Dataverse 和 Access 都可以在窗体中适当地使用查找。
创建要导出到 Dataverse 的有效的选择字段
要成功地从 Access 迁移选择字段,必须以类似于此处所述步骤的方式创建字段。
在 Access 中创建一个新表。
在表中添加一个数字字段。 必须是数字字段才支持导出到 Dataverse。
转到 Access 中的设计视图。 选择新字段,然后选择查找向导。
在“查找向导”中,选择我将键入所需的值选项,然后选择下一步。
在下一个对话中,输入 2 作为列数,然后选择 Col1 下方的字段。
在 Col1 中,输入 1、2 和 3 来为三个行输入值。 在 Col2 中,输入红色、绿色和蓝色来为三个行输入值。
选择 Col1 和 Col2 之间的分隔符,将其向左滑动,以仅出现 Col2。
选择下一步 > 下一步 > 完成完成查找向导。
保存更改并返回数据表视图。
创建新记录以验证选择字段是否按预期工作。 如果配置正确,它应该像这样显示。
关闭表,将其迁移到 Dataverse。
如果一切正常,添加新记录时,Dataverse 中的选择列将显示如下。
将 Number:Single 和 Number:Double 列迁移到 Dataverse
Access 和 Dataverse 都包含存储浮点数的功能。 Access 为此功能使用 Number:Single
和 Number:Double
。 这些数据类型通常会用于任何一个数字列。 Dataverse 有浮点数数据类型,但它的实现方式有一些限制。 Dataverse 只允许最多五位小数,且最小值/最大值为 -/+ 100,000,000,000。 迁移时,验证器会通知您,通过将此数据迁移为浮点数,您将失去一些小数精度。 如果可以接受,您可以自动迁移这些表。 在迁移过程中,任何超过最小/最大大小限制的行都不会被迁移,并且将存储在本地 Access 内的文件中,就像任何其他超出范围的数据类型一样。
但是,如果您需要迁移但又不想丢失小数精度,则可以通过更改 Access 中的数据类型来迁移 Access Number:Single
和 Number:Double
。 您可以使用 Access 表设计器并将 Number:Single
和 Number:Double
列的类型更改为小数,从而在 Dataverse 中最多支持 10 位小数。 然后不超过最小/最大小数限制的任何行都可以迁移。