2

作为办公室需求的一部分,我需要编写一个 C# 控制台应用程序,该应用程序从 Oracle CRM ON Demand 服务器中提取大量数据并将其推送到本地 Oracle 数据库。

现在,经过大量研究,我决定使用 ODP.NET 的数组绑定功能,据我所知,它可以提供最佳性能。

但问题是,我需要提取的数据每条记录/行总共有 50 多个字段/列。所以我需要创建那么多字符串数组?

我可以使用具有 50 多列的数据表而不是字符串数组来实现相同的(数组绑定)吗?如果是这样,怎么做?(我已经对此进行了足够的研究,但找不到解决方案)我知道我可以使用 OracleBulkCopy 类,但从我在这里读到的内容来看,它效率不高,与数组绑定相比性能很差。

另外,如果我使用这么多数组,我的应用程序仍然有效吗?因为当我与同事讨论此选项时,他们声称在您的应用程序中拥有如此多的数组并不是一个好的设计。

在过去的几天里,上述问题一直困扰着我,谁能帮我找到解决问题的最佳方法?我需要尽快解决这个问题。

4

1 回答 1

1

但问题是,我需要提取的数据每条记录/行总共有 50 多个字段/列。所以我需要创建那么多字符串数组?

不幸的是,是的。我有完全相同的问题,我没有找到比你建议的更好的解决方案。仅当您要使用经典 ADO.NET 时,才可以选择 DataTable。

不要担心性能问题:我的应用程序使用 Array Binding 每天插入 2000 万行,而且我没有性能或内存问题。但我同意你的同事,代码并不漂亮。

于 2013-04-04T09:51:43.853 回答