我需要帮助。我一直在我应该去的方向上来回走动,并且有一些我不喜欢或不能使用的选项。
我编写了一个通用的数据转储工具,它从指定的服务器中提取数据并将其转储到逗号分隔的文件中。它的配置和要运行的查询来自专门为此工具创建的 SQL 表。但是,我有一个新要求,即有一些数据转储需要从不同的服务器中提取数据并合并在一起,但我不想为这种“自定义”类型的 pull/dump 更改工具。我试图保持它的通用性,所以我不会经常对其进行编码。我的想法是创建一个库,我的报告工具可以在其中使用这些自定义类型的拉取,并且此库返回的数据是一个 SqlDataReader 对象。但是,由于该库必须从不同的服务器中提取并合并数据,因此该库是否可能创建它的 SqlDataReader?
我不想返回一个数组,因为这不是工具现在循环数据的方式,主要是因为我现有的一些数据转储是数百万行,所以我现有的循环是一个 datareader 循环来保持内存下降。但是,库可以创建一个二维数组,只要它可以在返回之前转换为 SqlDataReader 对象。这样我就不必对应用程序中的循环进行太多更改。
希望一切都说得通。我脑子里一直在蹦蹦跳跳,所以我最终写了 10 次。
编辑:请记住,每条记录将分散在 3 个服务器上,并且必须合并。这是三个不同的进程,它们一起工作,但有自己的服务器。例如,来自服务器 1 的 ID 将与 Server2 上的 Server1ID 相关。