我觉得这是一个愚蠢的问题,但我已经寻找了几天,我没有找到一个有用的答案。
我正在构建一个批处理作业风格的C#程序,当我们过渡到使用SQL Server数据库时,它将用于保持两个数据库(1个Oracle(10g)和1个SQL Server)的同步。
我的问题是如何迭代特定数据库表中的所有记录。这个表(34列)有大约20万条记录。我下面的代码似乎只检索到74条记录(我想这是某种内存限制?)如何处理这74条记录,然后迭代下一个74条记录?我似乎找不到任何程序来做这件事?这让我觉得很奇怪,因为人们总是遇到这种问题。
代码:
using (OracleConnection OraCon = new OracleConnection(ConfigurationManager.ConnectionStrings["sourceDatabase"].ConnectionString))
{
var command = new OracleCommand(SqlConstants.AppUserFindAllSql, OraCon)
{
CommandType = CommandType.Text
};
var dataTable = new DataTable("AppUser");
OraCon.Open();
using (var oracleReader = command.ExecuteReader())
{
dataTable.Load(oracleReader);
}
}
SELECT
*
FROM
APP_USER
ORDER BY
USER_ID
请注意,它在查询中实际上不是'*',但列出所有34列是没有意义的,因为它不相关。