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

What is the fastest way of pulling data from a foreign database

我需要从存储在 MSSQL 数据库中的单个 table 中提取数据。然后,数据被存储在 AX 中的分段 table 中,并根据业务逻辑从那里进行处理。

性能是这个项目的关键因素。

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

Connecting to Databases through X++

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

现在我希望有人可以提供意见,说明哪一个是更可取的以及为什么(特别是在性能方面)。

欢迎任何意见。

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

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

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

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