【问题标题】:Added fields to table in the AOT are not synchronized在 AOT 中向表中添加的字段不同步
【发布时间】:2023-06-18 14:38:01
【问题描述】:

我将 AOT 中的一些字段添加到表中。通常当我保存这些更改时,我也会在数据库表中找到添加的字段,但这次没有。

我已经尝试过再次编译和保存,并通过右键单击表开始同步 -> 同步。

但是我没有在数据库表中找到添加的字段。

有人可以帮我解决吗?

Screenshot of AOT and Properties of the fields

【问题讨论】:

  • 只是为了确保这些字段显示在 AOT 中,但没有显示在 SQL Management Studio 中?
  • 是的,这是目前的情况。这些字段显示在 AOT 中,但不在 SQL Management Studio 中。
  • 尝试再次删除并添加字段。如果这没有帮助,请尝试对整个数据字典进行完全同步。
  • 我已经尝试过完全同步。我会尝试删除并重新添加。
  • 再次删除和添加字段无效

标签: axapta microsoft-dynamics dynamics-ax-2012 x++


【解决方案1】:

我在 2012 年从未见过这种情况,尤其是对于未使用扩展数据类型的字段。

在以前的版本中,您可以禁用配置或安全密钥,然后表/字段不会同步到数据库表,但 2012 始终会同步。

你可以检查的东西

  • 确保您已连接到正确的数据库(从 System Administration > inquiries > database > database information 验证服务器和数据库名称)
  • 检查SQL中的SQLDICTIONARY表,它包含一个表和字段id,你应该可以在那里找到你的表和字段。如果它们不是字典并且 AOT 可能不同步
  • 使用System administration > periodic > Database > SQL AdministrationSQL Administration 表单中的Check/Synchronize 按钮

【讨论】:

  • 我已经检查了你提到的几点,但我没有发现任何问题。
【解决方案2】:

感谢大家的回答,但对我有用的解决方案是:

我使用备份文件恢复数据库(可能,因为它是一个开发系统),然后我再次进行更改。

我不知道为什么,但现在我可以看到我添加的字段。

再次感谢大家。

【讨论】:

  • 可能是AOS账号在旧数据库中没有足够的权限?参考AX 2012 Installation Guide 的“手动创建 Microsoft Dynamics AX 数据库”部分。不过,我敢肯定会出现警告。
最近更新 更多