从外部数据库中提取数据的最快方法是什么

时间:2016-02-01 09:32:37

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

我需要从存储在MSSQL数据库中的单个表中提取数据。然后将数据存储在AX中的临时表中,根据业务逻辑处理该表。

绩效是该项目的关键因素。

现在我正在研究使用X ++代码从MSSQL数据库中检索数据的可能性,并在以下博客中找到:

Connecting to Databases through X++

基本上有不同的方法可以用于这项工作:

  • ODBC - 开放数据库连接
  • OLEDB - 对象链接和嵌入
  • ADO - ActiveX数据对象
  • 连接类

现在我希望有人可以提供哪一个是可取的以及为什么(特别是在性能方面)的输入。

赞赏任何意见。

2 个答案:

答案 0 :(得分:8)

连接类不是有效选项,因为它连接到AX所连接的同一数据库,因此您的选择可以归结为ODBC,OLEDB和ADO / .NET方式。

我个人会选择.NET集成方式(在链接中称为OleDB)但是会使用System.Data.SqlClient而不是System.Data.OleDb,因为它本身是用.NET编写的。如果你的代码编译成CIL,那么应该能给你带来最好的结果。

无论您选择哪种检索选项,都应该构建一个记录列表并执行基于集合的插入,而不是optimize insert performance

答案 1 :(得分:5)

这听起来像Ax 2012中Data Import/Export framework的工作。