如何将数据从SQL Server数据库传输到AX 2012?

时间:2012-10-31 16:45:55

标签: c# visual-studio-2010 axapta dynamics-ax-2012

我想使用C#将大量数据从SQL Server 2008传输到Microsoft Dynamics 2012。 有主数据和关系数据。 哪种方法最好?

如果我们使用.Net Business Connecter,我们可以保持外键关系吗?

2 个答案:

答案 0 :(得分:3)

查看Data Migration Framework User Guideinstall guideusage guidedemo files

Background info ...

这不是一个快速通道,但替代方案需要100%了解AX数据模型。

AX外键关系存储在AX数据字典中,但未填充到SQL Server数据库中。

如果您的数据恰好是AX 2012数据库,那么我建议备份/恢复:)

答案 1 :(得分:0)

我完全同意Jan的观点......

首先,如果由于以下原因需要传输大量数据,目前数据迁移框架不会成为首选武器:

  • 它是测试版,因此它仍然包含大量错误(例如,在自定义表上创建自定义实体时,如果没有正确的集群索引和主索引设置,则导入的数据不正确,它会更新错误的记录,...)
  • 其次,该过程的第一步是使用SQL Server DTS包将数据加载到临时表中。由Dynamics构建的软件包还包含对性能有影响的验证
  • 接下来,对于每个将要读取的记录,在读取相同类型的记录时,将检索映射元数据而不是缓存。

所以我认为你有两个选择:

  • 您可以使用与DMF相同或更少的相同架构并创建临时表。然后使用SQL Server数据导出/导入向导导入数据FAST(无验证,...),然后将登台处理到现实生活表(但正如Jan所说,这需要Ax知识)

  • 最后您可以执行的操作(取决于您要导入的数据的复杂程度)是使用AIF自定义服务(WCF)。您可以使用在Dynamics Ax中创建记录的操作公开服务。这里的好处是你可以在这里使用并行处理来加快速度。例如,在客户站点,我们在所有流量中间使用BizTalk,BizTalk能够与Dynamics AX并行执行多个调用。如果您的环境是Multi-AOS,它可以很好地扩展。