我觉得这是一个愚蠢的问题,但是我已经搜索了几天,却没有找到有用的答案。
我正在构建一个批处理作业样式的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);
}
}
SqlConstants.AppUserFindAllSql:
SELECT
*
FROM
APP_USER
ORDER BY
USER_ID
请注意,它实际上不是查询中的“ *”,但是列出所有34列没有意义,因为它不相关。